home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1999-01-21 | 20.1 KB | [TEXT/MSET] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Thu Jan 21 09:12:06 1999, modified Thu Jan 21 09:12:06 1999, creator 'MSET', type ASCII, 20090 bytes "zFloating point" , at 0x4efa 381 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MSET] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0f 7a 46 6c 6f 61 74 | 69 6e 67 20 70 6f 69 6e |..zFloat|ing poin|
|00000010| 74 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |t.......|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 53 45 | 54 01 00 00 00 00 00 00 |.TEXTMSE|T.......|
|00000050| 00 00 00 00 00 4e 7a 00 | 00 01 7d b2 cc e6 36 b2 |.....Nz.|..}...6.|
|00000060| cc e6 36 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..6.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 00 ef 00 00 |........|........|
|00000080| 5c 20 20 4d 61 72 20 39 | 38 20 20 6d 72 68 20 20 |\ Mar 9|8 mrh |
|00000090| 49 6e 69 74 69 61 6c 20 | 50 6f 77 65 72 50 43 20 |Initial |PowerPC |
|000000a0| 76 65 72 73 69 6f 6e 2e | 0d 0d 3a 66 20 66 4e 75 |version.|..:f fNu|
|000000b0| 6d 3f 20 20 66 61 6c 73 | 65 20 20 3b 66 0d 0d 73 |m? fals|e ;f..s|
|000000c0| 79 73 63 61 6c 6c 09 64 | 65 63 32 6e 75 6d 0d 73 |yscall.d|ec2num.s|
|000000d0| 79 73 63 61 6c 6c 09 6e | 75 6d 32 64 65 63 0d 73 |yscall.n|um2dec.s|
|000000e0| 79 73 63 61 6c 6c 09 64 | 65 63 32 73 74 72 0d 73 |yscall.d|ec2str.s|
|000000f0| 79 73 63 61 6c 6c 09 73 | 74 72 32 64 65 63 0d 0d |yscall.s|tr2dec..|
|00000100| 24 20 42 44 34 32 09 09 | 73 69 6d 70 6c 65 5f 6f |$ BD42..|simple_o|
|00000110| 70 09 53 46 40 0d 24 20 | 42 44 34 33 09 09 73 69 |p.SF@.$ |BD43..si|
|00000120| 6d 70 6c 65 5f 6f 70 09 | 53 46 21 0d 0d 38 20 20 |mple_op.|SF!..8 |
|00000130| 63 6f 6e 73 74 61 6e 74 | 09 31 46 4c 4f 41 54 0d |constant|.1FLOAT.|
|00000140| 0d 5c 20 4f 75 72 20 64 | 65 66 61 75 6c 74 20 66 |.\ Our d|efault f|
|00000150| 6c 6f 61 74 20 69 73 20 | 61 6e 20 49 45 45 45 20 |loat is |an IEEE |
|00000160| 64 6f 75 62 6c 65 2e 20 | 20 54 68 75 73 20 44 46 |double. | Thus DF|
|00000170| 40 20 65 74 63 2e 20 61 | 72 65 20 61 6c 69 61 73 |@ etc. a|re alias|
|00000180| 65 73 20 66 6f 72 20 46 | 40 20 65 74 63 2e 0d 0d |es for F|@ etc...|
|00000190| 3a 20 44 46 40 09 09 69 | 6e 6c 69 6e 65 7b 20 66 |: DF@..i|nline{ f|
|000001a0| 40 7d 20 20 3b 0d 3a 20 | 44 46 21 09 09 69 6e 6c |@} ;.: |DF!..inl|
|000001b0| 69 6e 65 7b 20 66 21 7d | 20 20 3b 0d 0d 5c 20 53 |ine{ f!}| ;..\ S|
|000001c0| 46 40 20 61 6e 64 20 53 | 46 21 20 61 72 65 20 69 |F@ and S|F! are i|
|000001d0| 6e 20 70 6e 75 63 31 2e | 0d 0d 3a 20 46 4c 4f 41 |n pnuc1.|..: FLOA|
|000001e0| 54 2b 09 69 6e 6c 69 6e | 65 7b 20 38 20 2b 7d 20 |T+.inlin|e{ 8 +} |
|000001f0| 3b 0d 3a 20 46 4c 4f 41 | 54 2d 09 69 6e 6c 69 6e |;.: FLOA|T-.inlin|
|00000200| 65 7b 20 38 20 2d 7d 20 | 3b 0d 3a 20 46 4c 4f 41 |e{ 8 -} |;.: FLOA|
|00000210| 54 53 09 69 6e 6c 69 6e | 65 7b 20 33 20 3c 3c 7d |TS.inlin|e{ 3 <<}|
|00000220| 20 3b 0d 3a 20 46 41 4c | 49 47 4e 09 61 6c 69 67 | ;.: FAL|IGN.alig|
|00000230| 6e 38 20 20 3b 0d 3a 20 | 46 41 4c 49 47 4e 45 44 |n8 ;.: |FALIGNED|
|00000240| 09 23 61 6c 69 67 6e 38 | 20 20 3b 0d 0d 3a 20 44 |.#align8| ;..: D|
|00000250| 46 4c 4f 41 54 2b 09 69 | 6e 6c 69 6e 65 7b 20 38 |FLOAT+.i|nline{ 8|
|00000260| 20 2b 7d 20 3b 0d 3a 20 | 44 46 4c 4f 41 54 2d 09 | +} ;.: |DFLOAT-.|
|00000270| 69 6e 6c 69 6e 65 7b 20 | 38 20 2d 7d 20 3b 0d 3a |inline{ |8 -} ;.:|
|00000280| 20 44 46 4c 4f 41 54 53 | 09 69 6e 6c 69 6e 65 7b | DFLOATS|.inline{|
|00000290| 20 33 20 3c 3c 7d 20 3b | 0d 3a 20 44 46 41 4c 49 | 3 <<} ;|.: DFALI|
|000002a0| 47 4e 09 61 6c 69 67 6e | 38 20 20 3b 0d 3a 20 44 |GN.align|8 ;.: D|
|000002b0| 46 41 4c 49 47 4e 45 44 | 09 23 61 6c 69 67 6e 38 |FALIGNED|.#align8|
|000002c0| 20 20 3b 0d 0d 3a 20 53 | 46 4c 4f 41 54 2b 09 69 | ;..: S|FLOAT+.i|
|000002d0| 6e 6c 69 6e 65 7b 20 34 | 20 2b 7d 20 3b 0d 3a 20 |nline{ 4| +} ;.: |
|000002e0| 53 46 4c 4f 41 54 2d 09 | 69 6e 6c 69 6e 65 7b 20 |SFLOAT-.|inline{ |
|000002f0| 34 20 2d 7d 20 3b 0d 3a | 20 53 46 4c 4f 41 54 53 |4 -} ;.:| SFLOATS|
|00000300| 09 69 6e 6c 69 6e 65 7b | 20 32 20 3c 3c 7d 20 3b |.inline{| 2 <<} ;|
|00000310| 0d 3a 20 53 46 41 4c 49 | 47 4e 09 61 6c 69 67 6e |.: SFALI|GN.align|
|00000320| 34 20 20 3b 0d 3a 20 53 | 46 41 4c 49 47 4e 45 44 |4 ;.: S|FALIGNED|
|00000330| 09 23 61 6c 69 67 6e 34 | 20 20 3b 0d 0d 0d 3a 20 |.#align4| ;...: |
|00000340| 46 2c 20 20 28 20 46 3a | 20 72 20 2d 2d 20 29 0d |F, ( F:| r -- ).|
|00000350| 09 66 61 6c 69 67 6e 20 | 20 44 50 20 66 21 20 20 |.falign | DP f! |
|00000360| 31 66 6c 6f 61 74 20 2b | 2b 3e 20 44 50 20 20 3b |1float +|+> DP ;|
|00000370| 0d 0d 3a 20 46 56 41 52 | 49 41 42 4c 45 0d 09 66 |..: FVAR|IABLE..f|
|00000380| 61 6c 69 67 6e 20 20 76 | 61 72 69 61 62 6c 65 20 |align v|ariable |
|00000390| 20 3b 0d 0d 0d 5c 09 09 | 09 3d 3d 3d 3d 3d 3d 3d | ;...\..|.=======|
|000003a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 5c |========|======.\|
|000003c0| 09 09 20 20 20 09 09 09 | 09 46 50 20 6d 6f 64 65 |.. ...|.FP mode|
|000003d0| 20 73 65 74 74 69 6e 67 | 0d 5c 09 09 09 3d 3d 3d | setting|.\...===|
|000003e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000003f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000400| 3d 3d 0d 0d 5c 20 72 6f | 75 6e 64 69 6e 67 20 6d |==..\ ro|unding m|
|00000410| 6f 64 65 73 3a 0d 65 6e | 75 6d 7b 20 20 72 6f 75 |odes:.en|um{ rou|
|00000420| 6e 64 54 6f 4e 65 61 72 | 65 73 74 20 20 72 6f 75 |ndToNear|est rou|
|00000430| 6e 64 54 6f 5a 65 72 6f | 20 20 72 6f 75 6e 64 55 |ndToZero| roundU|
|00000440| 70 20 20 72 6f 75 6e 64 | 44 6f 77 6e 20 20 7d 0d |p round|Down }.|
|00000450| 0d 3a 70 70 63 5f 63 6f | 64 65 20 28 66 70 73 63 |.:ppc_co|de (fpsc|
|00000460| 72 29 0d 09 66 72 30 09 | 09 09 09 6d 66 66 73 2c |r)..fr0.|...mffs,|
|00000470| 0d 09 66 72 30 09 09 30 | 20 20 72 34 09 73 74 66 |..fr0..0| r4.stf|
|00000480| 64 2c 0d 09 09 09 09 09 | 62 6c 72 2c 0d 3b 70 70 |d,......|blr,.;pp|
|00000490| 63 5f 63 6f 64 65 0d 0d | 3a 70 70 63 5f 63 6f 64 |c_code..|:ppc_cod|
|000004a0| 65 20 28 3e 66 70 73 63 | 72 29 0d 09 66 72 30 09 |e (>fpsc|r)..fr0.|
|000004b0| 09 30 09 72 34 09 6c 66 | 64 2c 0d 09 24 20 46 46 |.0.r4.lf|d,..$ FF|
|000004c0| 20 09 66 72 30 09 09 6d | 74 66 73 66 2c 0d 09 09 | .fr0..m|tfsf,...|
|000004d0| 09 09 09 62 6c 72 2c 0d | 3b 70 70 63 5f 63 6f 64 |...blr,.|;ppc_cod|
|000004e0| 65 0d 0d 3a 20 46 50 53 | 43 52 0d 09 66 74 65 6d |e..: FPS|CR..ftem|
|000004f0| 70 20 20 28 66 70 73 63 | 72 29 20 20 34 2b 20 40 |p (fpsc|r) 4+ @|
|00000500| 0d 3b 0d 0d 3a 20 3e 46 | 50 53 43 52 0d 09 66 74 |.;..: >F|PSCR..ft|
|00000510| 65 6d 70 20 34 2b 20 21 | 20 20 66 74 65 6d 70 20 |emp 4+ !| ftemp |
|00000520| 28 3e 66 70 73 63 72 29 | 20 20 64 72 6f 70 20 20 |(>fpscr)| drop |
|00000530| 3b 0d 0d 3a 20 72 6f 75 | 6e 64 69 6e 67 5f 6d 6f |;..: rou|nding_mo|
|00000540| 64 65 0d 09 66 70 73 63 | 72 20 20 33 20 61 6e 64 |de..fpsc|r 3 and|
|00000550| 20 20 3b 0d 0d 3a 20 3e | 72 6f 75 6e 64 69 6e 67 | ;..: >|rounding|
|00000560| 5f 6d 6f 64 65 0d 09 33 | 20 61 6e 64 20 66 70 73 |_mode..3| and fps|
|00000570| 63 72 20 24 20 66 66 66 | 66 66 66 63 30 20 61 6e |cr $ fff|fffc0 an|
|00000580| 64 20 6f 72 20 20 3e 66 | 70 73 63 72 20 20 3b 0d |d or >f|pscr ;.|
|00000590| 0d 0d 0d 5c 09 09 09 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...\...=|========|
|000005a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000005b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 5c 09 09 |========|====.\..|
|000005c0| 20 20 20 09 09 09 20 52 | 6f 75 6e 64 69 6e 67 20 | ... R|ounding |
|000005d0| 74 6f 20 69 6e 74 65 67 | 65 72 0d 5c 09 09 09 3d |to integ|er.\...=|
|000005e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000005f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000600| 3d 3d 3d 3d 0d 0d 76 61 | 72 69 61 62 6c 65 09 32 |====..va|riable.2|
|00000610| 2a 2a 35 32 09 34 20 72 | 65 73 65 72 76 65 0d 76 |**52.4 r|eserve.v|
|00000620| 61 72 69 61 62 6c 65 09 | 2d 32 2a 2a 35 32 09 34 |ariable.|-2**52.4|
|00000630| 20 72 65 73 65 72 76 65 | 0d 0d 24 20 34 33 33 30 | reserve|..$ 4330|
|00000640| 30 30 30 30 20 20 32 2a | 2a 35 32 20 20 21 0d 24 |0000 2*|*52 !.$|
|00000650| 20 43 33 33 30 30 30 30 | 30 09 2d 32 2a 2a 35 32 | C330000|0.-2**52|
|00000660| 20 21 0d 0d 3a 20 72 6f | 75 6e 64 20 20 7b 20 25 | !..: ro|und { %|
|00000670| 78 20 5c 20 25 62 69 61 | 73 20 2d 2d 20 25 78 27 |x \ %bia|s -- %x'|
|00000680| 20 7d 0d 09 25 78 20 66 | 30 3e 3d 0d 09 49 46 09 | }..%x f|0>=..IF.|
|00000690| 09 09 09 5c 20 70 6f 73 | 69 74 69 76 65 20 2d 20 |...\ pos|itive - |
|000006a0| 61 64 64 20 32 2a 2a 35 | 32 2c 20 74 68 65 6e 20 |add 2**5|2, then |
|000006b0| 73 75 62 74 72 61 63 74 | 20 69 74 0d 09 09 32 2a |subtract| it...2*|
|000006c0| 2a 35 32 20 66 40 20 2d | 3e 20 25 62 69 61 73 0d |*52 f@ -|> %bias.|
|000006d0| 09 09 25 78 20 25 62 69 | 61 73 20 66 3e 0d 09 09 |..%x %bi|as f>...|
|000006e0| 49 46 09 25 78 20 20 45 | 58 49 54 20 20 54 48 45 |IF.%x E|XIT THE|
|000006f0| 4e 0d 09 45 4c 53 45 0d | 09 09 2d 32 2a 2a 35 32 |N..ELSE.|..-2**52|
|00000700| 20 66 40 20 20 2d 3e 20 | 25 62 69 61 73 0d 09 09 | f@ -> |%bias...|
|00000710| 25 78 20 25 62 69 61 73 | 20 66 3c 0d 09 09 49 46 |%x %bias| f<...IF|
|00000720| 20 20 25 78 20 20 45 58 | 49 54 20 20 54 48 45 4e | %x EX|IT THEN|
|00000730| 0d 09 54 48 45 4e 0d 09 | 25 78 20 25 62 69 61 73 |..THEN..|%x %bias|
|00000740| 20 66 2b 20 20 25 62 69 | 61 73 20 66 2d 0d 3b 0d | f+ %bi|as f-.;.|
|00000750| 0d 3a 20 46 4c 4f 4f 52 | 0d 09 66 70 73 63 72 0d |.: FLOOR|..fpscr.|
|00000760| 09 72 6f 75 6e 64 44 6f | 77 6e 20 3e 72 6f 75 6e |.roundDo|wn >roun|
|00000770| 64 69 6e 67 5f 6d 6f 64 | 65 0d 09 72 6f 75 6e 64 |ding_mod|e..round|
|00000780| 0d 09 3e 66 70 73 63 72 | 0d 3b 0d 0d 3a 20 46 52 |..>fpscr|.;..: FR|
|00000790| 4f 55 4e 44 0d 09 66 70 | 73 63 72 0d 09 72 6f 75 |OUND..fp|scr..rou|
|000007a0| 6e 64 54 6f 4e 65 61 72 | 65 73 74 20 3e 72 6f 75 |ndToNear|est >rou|
|000007b0| 6e 64 69 6e 67 5f 6d 6f | 64 65 0d 09 72 6f 75 6e |nding_mo|de..roun|
|000007c0| 64 0d 09 3e 66 70 73 63 | 72 0d 3b 0d 0d 0d 5c 09 |d..>fpsc|r.;...\.|
|000007d0| 09 09 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..======|========|
|000007e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000007f0| 3d 3d 3d 3d 3d 3d 3d 0d | 5c 09 09 20 20 20 09 09 |=======.|\.. ..|
|00000800| 46 50 20 74 6f 2f 66 72 | 6f 6d 20 64 65 63 69 6d |FP to/fr|om decim|
|00000810| 61 6c 20 63 6f 6e 76 65 | 72 73 69 6f 6e 0d 5c 09 |al conve|rsion.\.|
|00000820| 09 09 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..======|========|
|00000830| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000840| 3d 3d 3d 3d 3d 3d 3d 0d | 0d 5c 20 53 6f 6d 65 20 |=======.|.\ Some |
|00000850| 75 73 65 66 75 6c 20 63 | 6f 6e 73 74 61 6e 74 73 |useful c|onstants|
|00000860| 3a 0d 0d 20 32 35 36 09 | 63 6f 6e 73 74 61 6e 74 |:.. 256.|constant|
|00000870| 09 4e 45 47 0d 20 20 20 | 30 09 63 6f 6e 73 74 61 |.NEG. |0.consta|
|00000880| 6e 74 09 50 4f 53 0d 0d | 31 09 63 6f 6e 73 74 61 |nt.POS..|1.consta|
|00000890| 6e 74 09 66 69 78 65 64 | 44 65 63 69 6d 61 6c 0d |nt.fixed|Decimal.|
|000008a0| 30 09 63 6f 6e 73 74 61 | 6e 74 09 66 6c 6f 61 74 |0.consta|nt.float|
|000008b0| 44 65 63 69 6d 61 6c 0d | 0d 0d 5c 20 4f 75 72 20 |Decimal.|..\ Our |
|000008c0| 44 45 43 20 63 6c 61 73 | 73 20 63 6f 6d 62 69 6e |DEC clas|s combin|
|000008d0| 65 73 20 74 68 65 20 53 | 41 4e 45 2f 4d 61 74 68 |es the S|ANE/Math|
|000008e0| 4c 69 62 20 64 65 63 69 | 6d 61 6c 20 61 6e 64 20 |Lib deci|mal and |
|000008f0| 64 65 63 66 6f 72 6d 20 | 72 65 63 6f 72 64 73 2c |decform |records,|
|00000900| 0d 5c 20 20 61 6e 64 20 | 61 64 64 73 20 61 70 70 |.\ and |adds app|
|00000910| 72 6f 70 72 69 61 74 65 | 20 6d 65 74 68 6f 64 73 |ropriate| methods|
|00000920| 20 74 6f 20 64 6f 20 77 | 68 61 74 20 77 65 20 77 | to do w|hat we w|
|00000930| 61 6e 74 2e 20 20 57 65 | 20 63 6f 75 6c 64 20 65 |ant. We| could e|
|00000940| 71 75 61 6c 6c 79 0d 5c | 20 20 77 65 6c 6c 20 68 |qually.\| well h|
|00000950| 61 76 65 20 6d 61 64 65 | 20 74 68 65 73 65 20 74 |ave made| these t|
|00000960| 77 6f 20 73 65 70 61 72 | 61 74 65 20 63 6c 61 73 |wo separ|ate clas|
|00000970| 73 65 73 2c 20 62 75 74 | 20 74 68 69 73 20 69 73 |ses, but| this is|
|00000980| 20 61 20 6c 69 74 74 6c | 65 0d 5c 20 20 6c 65 73 | a littl|e.\ les|
|00000990| 73 20 63 6f 6d 70 6c 69 | 63 61 74 65 64 2c 20 65 |s compli|cated, e|
|000009a0| 73 70 65 63 69 61 6c 6c | 79 20 61 73 20 77 65 20 |speciall|y as we |
|000009b0| 6f 6e 6c 79 20 69 6e 73 | 74 61 6e 74 69 61 74 65 |only ins|tantiate|
|000009c0| 20 6f 6e 65 20 44 65 63 | 20 6f 62 6a 65 63 74 2e | one Dec| object.|
|000009d0| 0d 0d 3a 63 6c 61 73 73 | 20 20 44 45 43 20 73 75 |..:class| DEC su|
|000009e0| 70 65 72 7b 20 6f 62 6a | 65 63 74 20 7d 0d 70 75 |per{ obj|ect }.pu|
|000009f0| 62 6c 69 63 0d 09 5c 20 | 64 65 63 69 6d 61 6c 20 |blic..\ |decimal |
|00000a00| 72 65 63 6f 72 64 20 20 | 28 20 78 20 3d 20 28 2d |record |( x = (-|
|00000a10| 31 29 5e 73 67 6e 20 2a | 20 31 30 5e 65 78 70 20 |1)^sgn *| 10^exp |
|00000a20| 2a 20 64 69 67 69 74 73 | 20 29 0d 72 65 63 6f 72 |* digits| ).recor|
|00000a30| 64 0d 7b 0d 09 62 79 74 | 65 09 73 69 67 6e 0d 09 |d.{..byt|e.sign..|
|00000a40| 62 79 74 65 09 75 6e 75 | 73 65 64 0d 09 69 6e 74 |byte.unu|sed..int|
|00000a50| 09 09 65 78 70 09 09 09 | 5c 20 6f 66 66 73 20 32 |..exp...|\ offs 2|
|00000a60| 0d 09 75 62 79 74 65 09 | 6c 65 6e 67 74 68 09 09 |..ubyte.|length..|
|00000a70| 5c 20 6f 66 66 73 20 34 | 0d 33 36 09 62 79 74 65 |\ offs 4|.36.byte|
|00000a80| 73 09 74 65 78 74 09 09 | 5c 20 50 50 43 20 4e 75 |s.text..|\ PPC Nu|
|00000a90| 6d 65 72 69 63 73 20 6d | 61 6e 75 61 6c 20 73 65 |merics m|anual se|
|00000aa0| 7a 20 33 36 20 69 73 20 | 74 68 65 20 6d 61 78 20 |z 36 is |the max |
|00000ab0| 6c 65 6e 0d 09 75 62 79 | 74 65 09 75 6e 75 73 65 |len..uby|te.unuse|
|00000ac0| 64 31 0d 09 75 69 6e 74 | 09 69 6e 64 65 78 09 09 |d1..uint|.index..|
|00000ad0| 5c 20 6f 66 66 73 20 34 | 32 20 2d 20 75 73 65 64 |\ offs 4|2 - used|
|00000ae0| 20 62 79 20 74 68 65 20 | 73 63 61 6e 6e 65 72 0d | by the |scanner.|
|00000af0| 09 0d 09 5c 20 64 65 63 | 66 6f 72 6d 20 72 65 63 |...\ dec|form rec|
|00000b00| 6f 72 64 20 73 74 61 72 | 74 73 20 68 65 72 65 20 |ord star|ts here |
|00000b10| 28 77 65 27 72 65 20 61 | 6c 69 67 6e 65 64 2c 20 |(we're a|ligned, |
|00000b20| 61 74 20 6f 66 66 73 20 | 34 34 29 0d 0d 09 62 79 |at offs |44)...by|
|00000b30| 74 65 09 73 74 79 6c 65 | 0d 09 62 79 74 65 09 75 |te.style|..byte.u|
|00000b40| 6e 75 73 65 64 32 0d 09 | 69 6e 74 09 09 23 64 69 |nused2..|int..#di|
|00000b50| 67 69 74 73 09 09 5c 20 | 23 20 6f 66 20 73 69 67 |gits..\ |# of sig|
|00000b60| 20 64 69 67 69 74 73 2c | 20 69 66 20 66 6c 6f 61 | digits,| if floa|
|00000b70| 74 3b 0d 09 09 09 09 09 | 09 5c 20 23 20 64 65 63 |t;......|.\ # dec|
|00000b80| 2e 20 70 6c 61 63 65 73 | 2c 20 69 66 20 66 69 78 |. places|, if fix|
|00000b90| 65 64 2e 0d 09 69 6e 74 | 09 09 76 61 6c 69 64 3f |ed...int|..valid?|
|00000ba0| 09 09 5c 20 75 73 65 64 | 20 62 79 20 74 68 65 20 |..\ used| by the |
|00000bb0| 73 63 61 6e 6e 65 72 2e | 0d 7d 0d 0d 0d 3a 6d 20 |scanner.|.}...:m |
|00000bc0| 43 4c 45 41 52 3a 0d 09 | 61 64 64 72 3a 20 73 69 |CLEAR:..|addr: si|
|00000bd0| 67 6e 20 34 31 20 65 72 | 61 73 65 20 20 3b 6d 0d |gn 41 er|ase ;m.|
|00000be0| 0d 3a 6d 20 45 49 4e 49 | 54 3a 09 63 6c 65 61 72 |.:m EINI|T:.clear|
|00000bf0| 3a 20 73 65 6c 66 20 20 | 46 6c 6f 61 74 44 65 63 |: self |FloatDec|
|00000c00| 69 6d 61 6c 20 20 70 75 | 74 3a 20 73 74 79 6c 65 |imal pu|t: style|
|00000c10| 20 20 31 39 20 20 70 75 | 74 3a 20 23 64 69 67 69 | 19 pu|t: #digi|
|00000c20| 74 73 20 20 3b 6d 0d 3a | 6d 20 46 49 4e 49 54 3a |ts ;m.:|m FINIT:|
|00000c30| 09 63 6c 65 61 72 3a 20 | 73 65 6c 66 20 20 46 69 |.clear: |self Fi|
|00000c40| 78 65 64 44 65 63 69 6d | 61 6c 20 20 70 75 74 3a |xedDecim|al put:|
|00000c50| 20 73 74 79 6c 65 20 20 | 3b 6d 0d 0d 3a 6d 20 53 | style |;m..:m S|
|00000c60| 45 54 53 54 59 4c 45 3a | 09 70 75 74 3a 20 73 74 |ETSTYLE:|.put: st|
|00000c70| 79 6c 65 09 3b 6d 0d 3a | 6d 20 53 45 54 23 44 49 |yle.;m.:|m SET#DI|
|00000c80| 47 49 54 53 3a 09 70 75 | 74 3a 20 23 64 69 67 69 |GITS:.pu|t: #digi|
|00000c90| 74 73 20 20 3b 6d 0d 3a | 6d 20 53 45 54 45 58 50 |ts ;m.:|m SETEXP|
|00000ca0| 3a 09 09 70 75 74 3a 20 | 65 78 70 09 3b 6d 0d 3a |:..put: |exp.;m.:|
|00000cb0| 6d 20 45 58 50 3a 09 09 | 09 67 65 74 3a 20 65 78 |m EXP:..|.get: ex|
|00000cc0| 70 09 3b 6d 0d 3a 6d 20 | 53 49 47 4e 3a 09 09 67 |p.;m.:m |SIGN:..g|
|00000cd0| 65 74 3a 20 73 69 67 6e | 09 3b 6d 0d 0d 3a 6d 20 |et: sign|.;m..:m |
|00000ce0| 5a 45 52 4f 3a 09 09 5c | 20 50 75 74 73 20 61 20 |ZERO:..\| Puts a |
|00000cf0| 22 30 22 20 69 6e 20 64 | 65 63 69 6d 61 6c 20 72 |"0" in d|ecimal r|
|00000d00| 65 63 6f 72 64 20 28 6c | 65 6e 67 74 68 20 31 29 |ecord (l|ength 1)|
|00000d10| 0d 09 63 6c 65 61 72 3a | 20 73 65 6c 66 20 20 24 |..clear:| self $|
|00000d20| 20 30 31 33 30 20 20 61 | 64 64 72 3a 20 6c 65 6e | 0130 a|ddr: len|
|00000d30| 67 74 68 20 20 77 21 20 | 20 3b 6d 0d 0d 3a 6d 20 |gth w! | ;m..:m |
|00000d40| 46 4c 4f 41 54 3a 20 20 | 28 20 2d 2d 20 64 20 29 |FLOAT: |( -- d )|
|00000d50| 0d 09 5e 62 61 73 65 09 | 09 09 09 09 09 5c 20 41 |..^base.|.....\ A|
|00000d60| 64 64 72 20 6f 66 20 64 | 65 63 69 6d 61 6c 20 72 |ddr of d|ecimal r|
|00000d70| 65 63 6f 72 64 0d 09 64 | 65 63 32 6e 75 6d 09 09 |ecord..d|ec2num..|
|00000d80| 09 09 09 09 5c 20 72 65 | 74 75 72 6e 73 20 61 20 |....\ re|turns a |
|00000d90| 64 6f 75 62 6c 65 0d 3b | 6d 0d 0d 5c 20 3e 44 45 |double.;|m..\ >DE|
|00000da0| 43 3a 20 63 6f 6e 76 65 | 72 74 73 20 74 68 65 20 |C: conve|rts the |
|00000db0| 70 61 73 73 65 64 2d 69 | 6e 20 64 6f 75 62 6c 65 |passed-i|n double|
|00000dc0| 20 66 6c 6f 61 74 20 74 | 6f 20 64 65 63 69 6d 61 | float t|o decima|
|00000dd0| 6c 2e 0d 0d 3a 6d 20 3e | 44 45 43 3a 0d 09 61 64 |l...:m >|DEC:..ad|
|00000de0| 64 72 3a 20 73 74 79 6c | 65 09 09 09 09 5c 20 61 |dr: styl|e....\ a|
|00000df0| 64 64 72 20 6f 66 20 64 | 65 63 66 6f 72 6d 20 72 |ddr of d|ecform r|
|00000e00| 65 63 6f 72 64 0d 09 09 | 09 09 09 09 09 5c 20 28 |ecord...|.....\ (|
|00000e10| 64 6f 75 62 6c 65 20 69 | 73 20 6f 6e 20 74 6f 70 |double i|s on top|
|00000e20| 20 6f 66 20 46 50 20 73 | 74 61 63 6b 29 0d 09 5e | of FP s|tack)..^|
|00000e30| 62 61 73 65 09 09 09 09 | 09 5c 20 41 64 64 72 20 |base....|.\ Addr |
|00000e40| 6f 66 20 64 65 63 69 6d | 61 6c 20 72 65 63 6f 72 |of decim|al recor|
|00000e50| 64 0d 09 6e 75 6d 32 64 | 65 63 0d 3b 6d 0d 0d 5c |d..num2d|ec.;m..\|
|00000e60| 20 41 73 63 69 69 20 69 | 6e 70 75 74 0d 0d 3a 6d | Ascii i|nput..:m|
|00000e70| 20 24 3e 44 45 43 3a 09 | 09 5c 20 28 20 61 64 64 | $>DEC:.|.\ ( add|
|00000e80| 72 20 6c 65 6e 20 2d 2d | 20 29 0d 09 73 74 72 32 |r len --| )..str2|
|00000e90| 35 35 20 20 31 2b 0d 09 | 63 6c 65 61 72 3a 20 69 |55 1+..|clear: i|
|00000ea0| 6e 64 65 78 20 20 61 64 | 64 72 3a 20 69 6e 64 65 |ndex ad|dr: inde|
|00000eb0| 78 0d 09 5e 62 61 73 65 | 20 20 61 64 64 72 3a 20 |x..^base| addr: |
|00000ec0| 76 61 6c 69 64 3f 0d 09 | 73 74 72 32 64 65 63 20 |valid?..|str2dec |
|00000ed0| 20 3b 6d 0d 0d 0d 3a 6d | 20 24 3e 44 45 43 3f 3a | ;m...:m| $>DEC?:|
|00000ee0| 20 20 7b 20 61 64 64 72 | 20 6c 65 6e 20 2d 2d 20 | { addr| len -- |
|00000ef0| 62 20 7d 0d 09 09 5c 20 | 41 74 74 65 6d 70 74 73 |b }...\ |Attempts|
|00000f00| 20 74 6f 20 63 6f 6e 76 | 65 72 74 20 74 68 65 20 | to conv|ert the |
|00000f10| 70 61 73 73 65 64 2d 69 | 6e 20 73 74 72 69 6e 67 |passed-i|n string|
|00000f20| 2c 20 75 73 69 6e 67 20 | 24 3e 44 45 43 3a 2e 0d |, using |$>DEC:..|
|00000f30| 09 09 5c 20 52 65 74 75 | 72 6e 73 20 54 72 75 65 |..\ Retu|rns True|
|00000f40| 20 69 66 20 61 6c 6c 20 | 74 68 65 20 69 6e 70 75 | if all |the inpu|
|00000f50| 74 20 77 61 73 20 72 65 | 61 64 2e 20 20 4f 74 68 |t was re|ad. Oth|
|00000f60| 65 72 77 69 73 65 0d 09 | 09 5c 20 77 65 20 61 73 |erwise..|.\ we as|
|00000f70| 73 75 6d 65 20 74 68 65 | 20 74 65 72 6d 69 6e 61 |sume the| termina|
|00000f80| 74 69 6e 67 20 28 6e 6f | 6e 2d 73 63 61 6e 6e 65 |ting (no|n-scanne|
|00000f90| 64 29 20 63 68 61 72 61 | 63 74 65 72 20 69 73 0d |d) chara|cter is.|
|00000fa0| 09 09 5c 20 69 6e 76 61 | 6c 69 64 2c 20 61 6e 64 |..\ inva|lid, and|
|00000fb0| 20 72 65 74 75 72 6e 20 | 46 61 6c 73 65 2e 0d 09 | return |False...|
|00000fc0| 61 64 64 72 20 6c 65 6e | 20 20 24 3e 64 65 63 3a |addr len| $>dec:|
|00000fd0| 20 73 65 6c 66 0d 09 67 | 65 74 3a 20 76 61 6c 69 | self..g|et: vali|
|00000fe0| 64 3f 20 30 3c 3e 09 09 | 09 5c 20 74 75 72 6e 20 |d? 0<>..|.\ turn |
|00000ff0| 61 20 43 20 66 6c 61 67 | 20 69 6e 74 6f 20 61 20 |a C flag| into a |
|00001000| 4d 6f 70 73 20 6f 6e 65 | 0d 3b 6d 0d 0d 5c 20 41 |Mops one|.;m..\ A|
|00001010| 73 63 69 69 20 6f 75 74 | 70 75 74 0d 0d 3a 6d 20 |scii out|put..:m |
|00001020| 46 4f 52 4d 41 54 3a 09 | 7b 20 5c 20 61 64 64 72 |FORMAT:.|{ \ addr|
|00001030| 20 5e 63 20 2d 2d 20 61 | 64 64 72 27 20 6c 65 6e | ^c -- a|ddr' len|
|00001040| 20 7d 0d 09 70 61 64 20 | 2d 3e 20 61 64 64 72 09 | }..pad |-> addr.|
|00001050| 09 5c 20 61 73 20 67 6f | 6f 64 20 61 20 70 6c 61 |.\ as go|od a pla|
|00001060| 63 65 20 61 73 20 61 6e | 79 20 66 6f 72 20 74 68 |ce as an|y for th|
|00001070| 65 20 6f 75 74 70 75 74 | 0d 09 61 64 64 72 3a 20 |e output|..addr: |
|00001080| 73 74 79 6c 65 09 09 5c | 20 61 64 64 72 20 6f 66 |style..\| addr of|
|00001090| 20 64 65 63 66 6f 72 6d | 0d 09 5e 62 61 73 65 09 | decform|..^base.|
|000010a0| 09 09 5c 20 61 64 64 72 | 20 6f 66 20 64 65 63 69 |..\ addr| of deci|
|000010b0| 6d 61 6c 20 72 65 63 6f | 72 64 0d 09 61 64 64 72 |mal reco|rd..addr|
|000010c0| 0d 09 64 65 63 32 73 74 | 72 0d 09 61 64 64 72 20 |..dec2st|r..addr |
|000010d0| 2d 3e 20 5e 63 0d 09 42 | 45 47 49 4e 20 20 5e 63 |-> ^c..B|EGIN ^c|
|000010e0| 20 63 40 20 20 57 48 49 | 4c 45 20 20 31 20 2b 2b | c@ WHI|LE 1 ++|
|000010f0| 3e 20 5e 63 20 20 52 45 | 50 45 41 54 0d 09 61 64 |> ^c RE|PEAT..ad|
|00001100| 64 72 20 20 5e 63 20 61 | 64 64 72 20 2d 20 20 3b |dr ^c a|ddr - ;|
|00001110| 6d 0d 0d 3a 6d 20 50 52 | 49 4e 54 3a 0d 09 66 6f |m..:m PR|INT:..fo|
|00001120| 72 6d 61 74 3a 20 73 65 | 6c 66 20 20 74 79 70 65 |rmat: se|lf type|
|00001130| 20 20 3b 6d 0d 0d 3a 6d | 20 44 55 4d 50 3a 0d 09 | ;m..:m| DUMP:..|
|00001140| 2e 22 20 73 69 67 6e 3a | 20 20 20 20 22 09 67 65 |." sign:| ".ge|
|00001150| 74 3a 20 73 69 67 6e 20 | 20 49 46 20 20 26 20 2d |t: sign | IF & -|
|00001160| 20 20 45 4c 53 45 20 20 | 26 20 2b 20 20 54 48 45 | ELSE |& + THE|
|00001170| 4e 20 20 65 6d 69 74 20 | 20 63 72 0d 09 2e 22 20 |N emit | cr..." |
|00001180| 65 78 70 3a 20 20 20 20 | 20 22 09 70 72 69 6e 74 |exp: | ".print|
|00001190| 3a 20 65 78 70 09 09 63 | 72 0d 09 61 64 64 72 3a |: exp..c|r..addr:|
|000011a0| 20 6c 65 6e 67 74 68 20 | 20 63 6f 75 6e 74 20 20 | length | count |
|000011b0| 74 79 70 65 20 20 63 72 | 0d 09 2e 22 20 73 74 79 |type cr|..." sty|
|000011c0| 6c 65 3a 20 20 20 22 09 | 67 65 74 3a 20 73 74 79 |le: ".|get: sty|
|000011d0| 6c 65 20 20 49 46 20 20 | 2e 22 20 66 69 78 65 64 |le IF |." fixed|
|000011e0| 22 20 20 45 4c 53 45 20 | 20 2e 22 20 66 6c 6f 61 |" ELSE | ." floa|
|000011f0| 74 22 20 20 54 48 45 4e | 20 20 63 72 0d 09 2e 22 |t" THEN| cr..."|
|00001200| 20 69 6e 64 65 78 3a 20 | 20 20 22 09 67 65 74 3a | index: | ".get:|
|00001210| 20 69 6e 64 65 78 20 20 | 2e 20 20 63 72 0d 09 2e | index |. cr...|
|00001220| 22 20 23 64 69 67 69 74 | 73 3a 20 22 09 67 65 74 |" #digit|s: ".get|
|00001230| 3a 20 23 64 69 67 69 74 | 73 20 20 2e 20 20 63 72 |: #digit|s . cr|
|00001240| 20 20 3b 6d 0d 09 0d 3b | 63 6c 61 73 73 0d 0d 64 | ;m...;|class..d|
|00001250| 65 63 09 74 68 65 44 65 | 63 0d 0d 3a 20 23 44 49 |ec.theDe|c..: #DI|
|00001260| 47 49 54 53 09 73 65 74 | 23 64 69 67 69 74 73 3a |GITS.set|#digits:|
|00001270| 20 74 68 65 44 65 63 20 | 20 3b 0d 0d 3a 20 45 2e | theDec | ;..: E.|
|00001280| 52 20 20 28 20 46 3a 20 | 72 20 2d 2d 20 29 20 7b |R ( F: |r -- ) {|
|00001290| 20 77 69 64 20 5c 20 73 | 76 4f 75 74 20 2d 2d 20 | wid \ s|vOut -- |
|000012a0| 7d 0d 09 6f 75 74 20 2d | 3e 20 73 76 4f 75 74 0d |}..out -|> svOut.|
|000012b0| 09 66 6c 6f 61 74 44 65 | 63 69 6d 61 6c 20 20 73 |.floatDe|cimal s|
|000012c0| 65 74 53 74 79 6c 65 3a | 20 74 68 65 44 65 63 0d |etStyle:| theDec.|
|000012d0| 09 77 69 64 20 36 20 2d | 20 20 23 64 69 67 69 74 |.wid 6 -| #digit|
|000012e0| 73 09 09 5c 20 41 6c 6c | 6f 77 20 66 6f 72 20 70 |s..\ All|ow for p|
|000012f0| 6f 69 6e 74 2c 20 73 69 | 67 6e 2c 20 61 6e 64 20 |oint, si|gn, and |
|00001300| 65 2b 6e 6e 0d 09 3e 64 | 65 63 3a 20 74 68 65 44 |e+nn..>d|ec: theD|
|00001310| 65 63 0d 09 70 72 69 6e | 74 3a 20 74 68 65 44 65 |ec..prin|t: theDe|
|00001320| 63 0d 09 77 69 64 20 20 | 6f 75 74 20 73 76 4f 75 |c..wid |out svOu|
|00001330| 74 20 2d 20 20 2d 20 20 | 73 70 61 63 65 73 20 20 |t - - |spaces |
|00001340| 3b 0d 0d 3a 20 45 2e 20 | 20 28 20 46 3a 20 72 20 |;..: E. | ( F: r |
|00001350| 2d 2d 20 29 09 32 33 20 | 65 2e 72 20 20 3b 09 09 |-- ).23 |e.r ;..|
|00001360| 5c 20 36 34 2d 62 69 74 | 20 64 6f 75 62 6c 65 20 |\ 64-bit| double |
|00001370| 67 69 76 65 73 20 75 73 | 20 61 20 35 32 2d 62 69 |gives us| a 52-bi|
|00001380| 74 0d 09 09 09 09 09 09 | 09 09 09 5c 20 20 66 72 |t.......|...\ fr|
|00001390| 61 63 74 69 6f 6e 2c 20 | 6f 72 20 31 37 20 64 65 |action, |or 17 de|
|000013a0| 63 69 6d 61 6c 20 64 69 | 67 69 74 73 20 6f 66 0d |cimal di|gits of.|
|000013b0| 09 09 09 09 09 09 09 09 | 09 5c 20 20 73 69 67 6e |........|.\ sign|
|000013c0| 69 66 69 63 61 6e 63 65 | 2e 0d 09 09 09 09 09 09 |ificance|........|
|000013d0| 09 09 09 0d 3a 20 46 53 | 2e 09 69 6e 6c 69 6e 65 |....: FS|..inline|
|000013e0| 7b 20 65 2e 7d 20 20 3b | 09 09 09 09 5c 20 41 4e |{ e.} ;|....\ AN|
|000013f0| 53 49 20 73 79 6e 6f 6e | 79 6d 2e 0d 0d 0d 3a 20 |SI synon|ym....: |
|00001400| 46 2e 52 20 20 28 20 46 | 3a 20 72 20 2d 2d 20 29 |F.R ( F|: r -- )|
|00001410| 20 20 7b 20 77 69 64 20 | 5c 20 23 64 69 67 20 73 | { wid |\ #dig s|
|00001420| 76 4f 75 74 20 2d 2d 20 | 7d 0d 09 6f 75 74 20 2d |vOut -- |}..out -|
|00001430| 3e 20 73 76 4f 75 74 0d | 09 66 6c 6f 61 74 44 65 |> svOut.|.floatDe|
|00001440| 63 69 6d 61 6c 20 20 73 | 65 74 53 74 79 6c 65 3a |cimal s|etStyle:|
|00001450| 20 74 68 65 44 65 63 0d | 09 77 69 64 20 32 2d 20 | theDec.|.wid 2- |
|00001460| 20 23 64 69 67 69 74 73 | 09 09 09 5c 20 41 6c 6c | #digits|...\ All|
|00001470| 6f 77 20 66 6f 72 20 73 | 69 67 6e 20 61 6e 64 20 |ow for s|ign and |
|00001480| 64 65 63 20 70 6f 69 6e | 74 0d 09 3e 64 65 63 3a |dec poin|t..>dec:|
|00001490| 20 74 68 65 44 65 63 0d | 09 66 69 78 65 64 44 65 | theDec.|.fixedDe|
|000014a0| 63 69 6d 61 6c 20 73 65 | 74 53 74 79 6c 65 3a 20 |cimal se|tStyle: |
|000014b0| 74 68 65 44 65 63 0d 09 | 65 78 70 3a 20 74 68 65 |theDec..|exp: the|
|000014c0| 44 65 63 20 20 6e 65 67 | 61 74 65 20 20 64 75 70 |Dec neg|ate dup|
|000014d0| 20 2d 3e 20 23 64 69 67 | 20 20 23 64 69 67 69 74 | -> #dig| #digit|
|000014e0| 73 0d 09 73 69 67 6e 3a | 20 74 68 65 44 65 63 20 |s..sign:| theDec |
|000014f0| 4e 49 46 20 20 73 70 61 | 63 65 20 20 54 48 45 4e |NIF spa|ce THEN|
|00001500| 0d 09 23 64 69 67 20 4e | 49 46 20 20 73 70 61 63 |..#dig N|IF spac|
|00001510| 65 20 20 54 48 45 4e 09 | 09 5c 20 49 6e 20 74 68 |e THEN.|.\ In th|
|00001520| 69 73 20 63 61 73 65 2c | 20 6e 6f 20 64 65 63 20 |is case,| no dec |
|00001530| 70 6f 69 6e 74 0d 09 70 | 72 69 6e 74 3a 20 74 68 |point..p|rint: th|
|00001540| 65 44 65 63 0d 09 77 69 | 64 20 20 6f 75 74 20 73 |eDec..wi|d out s|
|00001550| 76 4f 75 74 20 2d 20 20 | 2d 20 20 73 70 61 63 65 |vOut - |- space|
|00001560| 73 20 20 3b 0d 0d 0d 3a | 20 46 2e 20 20 28 20 46 |s ;...:| F. ( F|
|00001570| 3a 20 72 20 2d 2d 20 29 | 09 5c 20 44 65 66 61 75 |: r -- )|.\ Defau|
|00001580| 6c 74 20 66 69 78 65 64 | 2d 70 6f 69 6e 74 20 66 |lt fixed|-point f|
|00001590| 6f 72 6d 61 74 20 70 72 | 69 6e 74 2e 0d 09 31 39 |ormat pr|int...19|
|000015a0| 20 66 2e 72 20 20 3b 09 | 09 5c 20 31 37 20 64 69 | f.r ;.|.\ 17 di|
|000015b0| 67 69 74 73 20 6f 66 20 | 70 72 65 63 69 73 69 6f |gits of |precisio|
|000015c0| 6e 2c 20 70 6c 75 73 20 | 74 68 65 20 22 2e 22 20 |n, plus |the "." |
|000015d0| 61 6e 64 20 74 68 65 0d | 09 09 09 09 09 5c 20 20 |and the.|.....\ |
|000015e0| 74 72 61 69 6c 69 6e 67 | 20 73 70 61 63 65 20 67 |trailing| space g|
|000015f0| 69 76 65 73 20 61 20 66 | 69 65 6c 64 20 77 69 64 |ives a f|ield wid|
|00001600| 74 68 20 6f 66 20 31 39 | 2e 0d 0d 3a 20 52 45 50 |th of 19|...: REP|
|00001610| 52 45 53 45 4e 54 20 20 | 7b 20 61 64 64 72 20 6c |RESENT |{ addr l|
|00001620| 65 6e 20 25 78 20 2d 2d | 20 65 78 70 20 73 69 67 |en %x --| exp sig|
|00001630| 6e 20 6f 6b 3f 20 7d 0d | 09 09 5c 20 41 4e 53 49 |n ok? }.|..\ ANSI|
|00001640| 20 77 6f 72 64 20 74 6f | 20 67 69 76 65 20 61 20 | word to| give a |
|00001650| 67 65 6e 65 72 69 63 20 | 41 53 43 49 49 20 72 65 |generic |ASCII re|
|00001660| 70 72 65 73 65 6e 74 61 | 74 69 6f 6e 20 66 6f 72 |presenta|tion for|
|00001670| 0d 09 09 5c 20 20 61 20 | 66 6c 6f 61 74 69 6e 67 |...\ a |floating|
|00001680| 20 70 6f 69 6e 74 20 6e | 75 6d 62 65 72 2e 20 20 | point n|umber. |
|00001690| 54 68 65 20 66 72 61 63 | 74 69 6f 6e 2c 20 72 6f |The frac|tion, ro|
|000016a0| 75 6e 64 65 64 20 74 6f | 20 6c 65 6e 0d 09 09 5c |unded to| len...\|
|000016b0| 20 20 64 69 67 69 74 73 | 2c 20 69 73 20 70 6c 61 | digits|, is pla|
|000016c0| 63 65 64 20 61 74 20 61 | 64 64 72 20 28 75 73 69 |ced at a|ddr (usi|
|000016d0| 6e 67 20 72 6f 75 6e 64 | 20 74 6f 20 6e 65 61 72 |ng round| to near|
|000016e0| 65 73 74 20 72 6f 75 6e | 64 69 6e 67 29 2e 0d 09 |est roun|ding)...|
|000016f0| 09 5c 20 52 65 74 75 72 | 6e 73 20 74 68 65 20 65 |.\ Retur|ns the e|
|00001700| 78 70 6f 6e 65 6e 74 20 | 28 61 73 73 75 6d 69 6e |xponent |(assumin|
|00001710| 67 20 74 68 65 20 64 65 | 63 69 6d 61 6c 20 70 6f |g the de|cimal po|
|00001720| 69 6e 74 20 69 73 20 6a | 75 73 74 20 74 6f 0d 09 |int is j|ust to..|
|00001730| 09 5c 20 20 74 68 65 20 | 6c 65 66 74 20 6f 66 20 |.\ the |left of |
|00001740| 74 68 65 20 66 72 61 63 | 74 69 6f 6e 29 2c 20 74 |the frac|tion), t|
|00001750| 68 65 20 73 69 67 6e 20 | 28 74 72 75 65 20 3d 20 |he sign |(true = |
|00001760| 6d 69 6e 75 73 29 20 61 | 6e 64 0d 09 09 5c 20 20 |minus) a|nd...\ |
|00001770| 61 20 73 75 63 63 65 73 | 73 2f 66 61 69 6c 75 72 |a succes|s/failur|
|00001780| 65 20 66 6c 61 67 2e 0d | 09 66 70 73 63 72 0d 09 |e flag..|.fpscr..|
|00001790| 72 6f 75 6e 64 54 6f 4e | 65 61 72 65 73 74 20 3e |roundToN|earest >|
|000017a0| 72 6f 75 6e 64 69 6e 67 | 5f 6d 6f 64 65 0d 09 6c |rounding|_mode..l|
|000017b0| 65 6e 20 23 64 69 67 69 | 74 73 0d 09 25 78 20 3e |en #digi|ts..%x >|
|000017c0| 64 65 63 3a 20 74 68 65 | 44 65 63 0d 09 3e 66 70 |dec: the|Dec..>fp|
|000017d0| 73 63 72 0d 09 65 78 70 | 3a 20 74 68 65 44 65 63 |scr..exp|: theDec|
|000017e0| 20 20 67 65 74 3a 20 69 | 76 61 72 3e 20 6c 65 6e | get: i|var> len|
|000017f0| 67 74 68 20 69 6e 20 74 | 68 65 44 65 63 20 2b 0d |gth in t|heDec +.|
|00001800| 09 73 69 67 6e 3a 20 74 | 68 65 44 65 63 0d 09 61 |.sign: t|heDec..a|
|00001810| 64 64 72 3a 20 69 76 61 | 72 3e 20 74 65 78 74 20 |ddr: iva|r> text |
|00001820| 69 6e 20 74 68 65 44 65 | 63 20 20 64 75 70 20 63 |in theDe|c dup c|
|00001830| 40 0d 09 26 20 30 20 20 | 26 20 39 20 20 77 69 74 |@..& 0 |& 9 wit|
|00001840| 68 69 6e 3f 20 6e 69 70 | 0d 09 49 46 09 09 61 64 |hin? nip|..IF..ad|
|00001850| 64 72 20 6c 65 6e 20 20 | 63 6d 6f 76 65 09 74 72 |dr len |cmove.tr|
|00001860| 75 65 0d 09 45 4c 53 45 | 09 64 72 6f 70 20 20 61 |ue..ELSE|.drop a|
|00001870| 64 64 72 20 6c 65 6e 20 | 20 26 20 2a 20 66 69 6c |ddr len | & * fil|
|00001880| 6c 09 66 61 6c 73 65 0d | 09 54 48 45 4e 0d 3b 0d |l.false.|.THEN.;.|
|00001890| 0d 0d 0d 28 2a 09 3e 46 | 4c 4f 41 54 20 41 74 74 |...(*.>F|LOAT Att|
|000018a0| 65 6d 70 74 73 20 74 6f | 20 63 6f 6e 76 65 72 74 |empts to| convert|
|000018b0| 20 74 68 65 20 70 61 73 | 73 65 64 2d 69 6e 20 41 | the pas|sed-in A|
|000018c0| 53 43 49 49 20 73 74 72 | 69 6e 67 20 74 6f 0d 09 |SCII str|ing to..|
|000018d0| 66 6c 6f 61 74 69 6e 67 | 2c 20 69 66 20 70 6f 73 |floating|, if pos|
|000018e0| 73 69 62 6c 65 2e 20 20 | 4f 6e 20 73 75 63 63 65 |sible. |On succe|
|000018f0| 73 73 2c 20 72 65 74 75 | 72 6e 73 20 74 72 75 65 |ss, retu|rns true|
|00001900| 20 6f 6e 20 74 68 65 20 | 64 61 74 61 0d 09 73 74 | on the |data..st|
|00001910| 61 63 6b 20 61 6e 64 20 | 74 68 65 20 66 6c 6f 61 |ack and |the floa|
|00001920| 74 69 6e 67 20 6e 75 6d | 62 65 72 20 6f 6e 20 74 |ting num|ber on t|
|00001930| 68 65 20 46 50 20 73 74 | 61 63 6b 2e 20 20 4f 6e |he FP st|ack. On|
|00001940| 20 66 61 69 6c 75 72 65 | 2c 20 0d 09 72 65 74 75 | failure|, ..retu|
|00001950| 72 6e 73 20 66 61 6c 73 | 65 20 6f 6e 20 74 68 65 |rns fals|e on the|
|00001960| 20 64 61 74 61 20 73 74 | 61 63 6b 2e 0d 09 0d 09 | data st|ack.....|
|00001970| 54 68 65 20 41 4e 53 49 | 20 73 74 61 6e 64 61 72 |The ANSI| standar|
|00001980| 64 20 64 65 66 69 6e 65 | 73 20 74 68 69 73 20 77 |d define|s this w|
|00001990| 6f 72 64 20 74 6f 20 62 | 65 20 76 65 72 79 20 6c |ord to b|e very l|
|000019a0| 69 62 65 72 61 6c 20 2d | 20 49 20 74 68 69 6e 6b |iberal -| I think|
|000019b0| 0d 09 69 74 27 73 20 6d | 6f 72 65 20 6c 69 62 65 |..it's m|ore libe|
|000019c0| 72 61 6c 20 74 68 61 6e | 20 73 74 72 32 64 65 63 |ral than| str2dec|
|000019d0| 20 69 6e 20 4d 61 74 68 | 4c 69 62 2e 20 20 53 6f | in Math|Lib. So|
|000019e0| 20 65 76 65 6e 74 75 61 | 6c 6c 79 20 77 65 0d 09 | eventua|lly we..|
|000019f0| 6d 69 67 68 74 20 68 61 | 76 65 20 74 6f 20 61 64 |might ha|ve to ad|
|00001a00| 64 20 61 20 70 72 65 70 | 72 6f 63 65 73 73 69 6e |d a prep|rocessin|
|00001a10| 67 20 73 63 61 6e 20 6f | 6e 20 74 68 65 20 69 6e |g scan o|n the in|
|00001a20| 70 75 74 20 73 74 72 69 | 6e 67 2e 0d 09 42 75 74 |put stri|ng...But|
|00001a30| 20 61 73 20 69 74 20 73 | 74 61 6e 64 73 20 69 74 | as it s|tands it|
|00001a40| 20 77 69 6c 6c 20 77 6f | 72 6b 20 66 6f 72 20 61 | will wo|rk for a|
|00001a50| 6e 79 20 72 65 61 73 6f | 6e 61 62 6c 65 2d 6c 6f |ny reaso|nable-lo|
|00001a60| 6f 6b 69 6e 67 20 6e 75 | 6d 62 65 72 2e 0d 2a 29 |oking nu|mber..*)|
|00001a70| 0d 0d 3a 20 3e 46 4c 4f | 41 54 20 20 7b 20 61 64 |..: >FLO|AT { ad|
|00001a80| 64 72 20 6c 65 6e 20 2d | 2d 20 62 20 7d 20 20 28 |dr len -|- b } (|
|00001a90| 20 46 3a 20 2d 2d 20 72 | 20 20 7c 20 2d 2d 20 29 | F: -- r| | -- )|
|00001aa0| 0d 09 09 09 09 5c 20 43 | 6f 6e 76 65 72 74 73 20 |.....\ C|onverts |
|00001ab0| 74 68 65 20 70 61 73 73 | 65 64 2d 69 6e 20 41 53 |the pass|ed-in AS|
|00001ac0| 43 49 49 20 73 74 72 69 | 6e 67 20 74 6f 0d 09 09 |CII stri|ng to...|
|00001ad0| 09 09 5c 20 66 6c 6f 61 | 74 69 6e 67 2c 20 69 66 |..\ floa|ting, if|
|00001ae0| 20 70 6f 73 73 69 62 6c | 65 2e 20 20 4f 6e 20 73 | possibl|e. On s|
|00001af0| 75 63 63 65 73 73 2c 20 | 72 65 74 75 72 6e 73 0d |uccess, |returns.|
|00001b00| 09 09 09 09 5c 20 74 72 | 75 65 20 6f 6e 20 74 68 |....\ tr|ue on th|
|00001b10| 65 20 64 61 74 61 20 73 | 74 61 63 6b 20 61 6e 64 |e data s|tack and|
|00001b20| 20 74 68 65 20 66 6c 6f | 61 74 69 6e 67 20 6e 75 | the flo|ating nu|
|00001b30| 6d 62 65 72 0d 09 09 09 | 09 5c 20 6f 6e 20 74 68 |mber....|.\ on th|
|00001b40| 65 20 46 50 20 73 74 61 | 63 6b 2e 20 20 4f 6e 20 |e FP sta|ck. On |
|00001b50| 66 61 69 6c 75 72 65 2c | 20 72 65 74 75 72 6e 73 |failure,| returns|
|00001b60| 20 66 61 6c 73 65 0d 09 | 09 09 09 5c 20 6f 6e 20 | false..|...\ on |
|00001b70| 74 68 65 20 64 61 74 61 | 20 73 74 61 63 6b 2e 0d |the data| stack..|
|00001b80| 0d 09 61 64 64 72 20 6c | 65 6e 20 20 24 3e 64 65 |..addr l|en $>de|
|00001b90| 63 3f 3a 20 74 68 65 64 | 65 63 20 20 4e 49 46 20 |c?: thed|ec NIF |
|00001ba0| 20 66 61 6c 73 65 20 20 | 45 58 49 54 20 20 54 48 | false |EXIT TH|
|00001bb0| 45 4e 0d 09 66 6c 6f 61 | 74 3a 20 74 68 65 44 65 |EN..floa|t: theDe|
|00001bc0| 63 20 20 74 72 75 65 20 | 20 3b 0d 0d 0d 5c 09 09 |c true | ;...\..|
|00001bd0| 09 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.=======|========|
|00001be0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|00001bf0| 5c 09 09 09 20 20 20 20 | 20 20 09 49 6e 74 65 72 |\... | .Inter|
|00001c00| 70 72 65 74 61 74 69 6f | 6e 0d 5c 09 09 09 3d 3d |pretatio|n.\...==|
|00001c10| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00001c20| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 0d 0d 3a |========|====...:|
|00001c30| 20 46 4e 55 4d 42 45 52 | 09 5c 20 28 20 61 64 64 | FNUMBER|.\ ( add|
|00001c40| 72 20 2d 2d 20 66 6c 74 | 20 54 20 20 7c 20 20 2d |r -- flt| T | -|
|00001c50| 2d 20 46 20 29 0d 09 09 | 09 5c 20 41 74 74 65 6d |- F )...|.\ Attem|
|00001c60| 70 74 73 20 74 6f 20 63 | 6f 6e 76 65 72 74 20 74 |pts to c|onvert t|
|00001c70| 6f 6b 65 6e 20 61 74 20 | 61 64 64 72 20 74 6f 20 |oken at |addr to |
|00001c80| 61 20 66 6c 6f 61 74 2e | 0d 09 63 6f 75 6e 74 20 |a float.|..count |
|00001c90| 20 3e 66 6c 6f 61 74 20 | 20 3b 0d 0d 0d 0d 3a 20 | >float | ;....: |
|00001ca0| 46 4c 49 54 45 52 41 4c | 20 20 28 20 46 3a 20 72 |FLITERAL| ( F: r|
|00001cb0| 20 2d 2d 20 29 09 09 09 | 5c 20 43 6f 6d 70 69 6c | -- )...|\ Compil|
|00001cc0| 65 73 20 61 6e 20 69 6e | 2d 6c 69 6e 65 20 66 6c |es an in|-line fl|
|00001cd0| 6f 61 74 2e 0d 09 66 74 | 65 6d 70 20 66 21 09 09 |oat...ft|emp f!..|
|00001ce0| 09 09 09 5c 20 73 74 6f | 72 65 20 66 6c 6f 61 74 |...\ sto|re float|
|00001cf0| 20 61 74 20 66 74 65 6d | 70 0d 09 63 6f 6e 73 74 | at ftem|p..const|
|00001d00| 5f 64 61 74 61 5f 72 65 | 66 20 20 70 6f 73 74 70 |_data_re|f postp|
|00001d10| 6f 6e 65 20 66 40 09 5c | 20 63 6f 6d 70 69 6c 65 |one f@.\| compile|
|00001d20| 20 66 65 74 63 68 20 66 | 72 6f 6d 20 63 6f 6e 73 | fetch f|rom cons|
|00001d30| 74 5f 64 61 74 61 20 61 | 72 65 61 0d 09 66 74 65 |t_data a|rea..fte|
|00001d40| 6d 70 20 38 20 20 61 64 | 64 3a 20 63 6f 6e 73 74 |mp 8 ad|d: const|
|00001d50| 5f 64 61 74 61 09 5c 20 | 73 74 6f 72 65 20 74 68 |_data.\ |store th|
|00001d60| 65 20 66 6c 6f 61 74 20 | 69 6e 20 74 68 69 73 20 |e float |in this |
|00001d70| 64 65 66 6e 27 73 0d 09 | 09 09 09 09 09 09 09 5c |defn's..|.......\|
|00001d80| 20 20 63 6f 6e 73 74 5f | 64 61 74 61 0d 3b 09 09 | const_|data.;..|
|00001d90| 69 6d 6d 65 64 69 61 74 | 65 0d 0d 0d 28 2a 09 46 |immediat|e...(*.F|
|00001da0| 4e 55 4d 3f 20 69 73 20 | 63 61 6c 6c 65 64 20 66 |NUM? is |called f|
|00001db0| 72 6f 6d 20 49 4e 54 45 | 52 50 52 45 54 2c 20 74 |rom INTE|RPRET, t|
|00001dc0| 6f 20 63 68 65 63 6b 20 | 69 66 20 74 68 65 20 73 |o check |if the s|
|00001dd0| 74 72 69 6e 67 20 61 74 | 20 61 64 64 72 0d 09 69 |tring at| addr..i|
|00001de0| 73 20 61 20 46 50 20 6e | 75 6d 62 65 72 2e 20 20 |s a FP n|umber. |
|00001df0| 41 4e 53 49 20 73 70 65 | 63 69 66 69 65 73 20 74 |ANSI spe|cifies t|
|00001e00| 68 61 74 20 69 74 27 73 | 20 61 20 66 6c 6f 61 74 |hat it's| a float|
|00001e10| 20 69 66 20 69 74 20 63 | 6f 6e 74 61 69 6e 73 0d | if it c|ontains.|
|00001e20| 09 22 45 22 20 61 6e 64 | 20 74 68 65 20 62 61 73 |."E" and| the bas|
|00001e30| 65 20 69 73 20 64 65 63 | 69 6d 61 6c 2e 20 20 41 |e is dec|imal. A|
|00001e40| 73 20 77 65 6c 6c 20 61 | 73 20 74 68 69 73 2c 20 |s well a|s this, |
|00001e50| 4d 6f 70 73 20 68 61 73 | 20 61 6c 77 61 79 73 20 |Mops has| always |
|00001e60| 0d 09 74 61 6b 65 6e 20 | 61 6e 20 65 6d 62 65 64 |..taken |an embed|
|00001e70| 64 65 64 20 64 65 63 69 | 6d 61 6c 20 70 6f 69 6e |ded deci|mal poin|
|00001e80| 74 20 74 6f 20 69 6e 64 | 69 63 61 74 65 20 61 20 |t to ind|icate a |
|00001e90| 66 6c 6f 61 74 2c 20 69 | 66 20 66 6c 6f 61 74 69 |float, i|f floati|
|00001ea0| 6e 67 20 0d 09 70 6f 69 | 6e 74 20 69 73 20 6c 6f |ng ..poi|nt is lo|
|00001eb0| 61 64 65 64 2e 20 20 53 | 6f 20 77 65 20 64 6f 20 |aded. S|o we do |
|00001ec0| 61 6c 6c 20 74 68 65 73 | 65 20 68 65 72 65 2e 20 |all thes|e here. |
|00001ed0| 20 57 65 20 61 73 73 75 | 6d 65 20 69 74 27 73 20 | We assu|me it's |
|00001ee0| 61 0d 09 66 6c 6f 61 74 | 20 69 66 20 77 65 27 72 |a..float| if we'r|
|00001ef0| 65 20 69 6e 20 64 65 63 | 69 6d 61 6c 2c 20 61 6e |e in dec|imal, an|
|00001f00| 64 20 74 68 65 20 73 74 | 72 69 6e 67 20 63 6f 6e |d the st|ring con|
|00001f10| 74 61 69 6e 73 20 45 2c | 20 65 2c 20 6f 72 20 61 |tains E,| e, or a|
|00001f20| 0d 09 64 65 63 69 6d 61 | 6c 20 70 6f 69 6e 74 2e |..decima|l point.|
|00001f30| 0d 09 49 66 20 74 68 65 | 73 65 20 63 6f 6e 64 69 |..If the|se condi|
|00001f40| 74 69 6f 6e 73 20 61 72 | 65 20 6d 65 74 20 62 75 |tions ar|e met bu|
|00001f50| 74 20 66 4e 75 6d 62 65 | 72 20 72 65 74 75 72 6e |t fNumbe|r return|
|00001f60| 73 20 61 6e 20 65 72 72 | 6f 72 2c 20 77 65 0d 09 |s an err|or, we..|
|00001f70| 67 69 76 65 20 61 20 22 | 6e 6f 74 20 66 6f 75 6e |give a "|not foun|
|00001f80| 64 22 20 65 72 72 6f 72 | 2c 20 73 69 6e 63 65 20 |d" error|, since |
|00001f90| 61 74 20 74 68 69 73 20 | 70 6f 69 6e 74 20 49 4e |at this |point IN|
|00001fa0| 54 45 52 50 52 45 54 20 | 68 61 73 20 61 6c 72 65 |TERPRET |has alre|
|00001fb0| 61 64 79 0d 09 6c 6f 6f | 6b 65 64 20 69 6e 20 74 |ady..loo|ked in t|
|00001fc0| 68 65 20 64 69 63 74 69 | 6f 6e 61 72 79 20 66 6f |he dicti|onary fo|
|00001fd0| 72 20 74 68 65 20 73 74 | 72 69 6e 67 20 61 6e 64 |r the st|ring and|
|00001fe0| 20 6e 6f 74 20 66 6f 75 | 6e 64 20 69 74 2c 20 61 | not fou|nd it, a|
|00001ff0| 6e 64 0d 09 69 66 20 69 | 74 20 63 6f 6e 74 61 69 |nd..if i|t contai|
|00002000| 6e 73 20 45 20 6f 72 20 | 2e 20 74 68 65 6e 20 69 |ns E or |. then i|
|00002010| 74 20 63 65 72 74 61 69 | 6e 6c 79 20 69 73 6e 27 |t certai|nly isn'|
|00002020| 74 20 61 20 6c 65 67 61 | 6c 20 69 6e 74 65 67 65 |t a lega|l intege|
|00002030| 72 2e 0d 2a 29 0d 0d 3a | 66 20 46 4e 55 4d 3f 20 |r..*)..:|f FNUM? |
|00002040| 20 7b 20 61 64 64 72 20 | 5c 20 61 64 64 72 27 20 | { addr |\ addr' |
|00002050| 6c 65 6e 20 2d 2d 20 54 | 20 20 7c 20 20 2d 2d 20 |len -- T| | -- |
|00002060| 61 64 64 72 20 46 20 7d | 20 28 20 46 3a 20 2d 2d |addr F }| ( F: --|
|00002070| 20 72 20 20 7c 20 2d 2d | 20 29 0d 0d 09 62 61 73 | r | --| )...bas|
|00002080| 65 20 31 30 20 3c 3e 20 | 49 46 20 20 61 64 64 72 |e 10 <> |IF addr|
|00002090| 20 20 66 61 6c 73 65 20 | 20 45 58 49 54 20 20 54 | false | EXIT T|
|000020a0| 48 45 4e 0d 0d 09 61 64 | 64 72 20 63 6f 75 6e 74 |HEN...ad|dr count|
|000020b0| 20 20 2d 3e 20 6c 65 6e | 20 20 2d 3e 20 61 64 64 | -> len| -> add|
|000020c0| 72 27 0d 09 61 64 64 72 | 27 20 6c 65 6e 20 20 26 |r'..addr|' len &|
|000020d0| 20 2e 20 20 73 63 61 6e | 20 20 6e 69 70 0d 09 4e | . scan| nip..N|
|000020e0| 49 46 09 61 64 64 72 27 | 20 6c 65 6e 20 20 26 20 |IF.addr'| len & |
|000020f0| 45 20 20 73 63 61 6e 20 | 20 6e 69 70 0d 09 09 4e |E scan | nip...N|
|00002100| 49 46 09 61 64 64 72 27 | 20 6c 65 6e 20 20 26 20 |IF.addr'| len & |
|00002110| 65 20 20 73 63 61 6e 20 | 20 6e 69 70 0d 09 09 09 |e scan | nip....|
|00002120| 4e 49 46 09 0d 09 09 09 | 09 61 64 64 72 20 20 66 |NIF.....|.addr f|
|00002130| 61 6c 73 65 20 20 45 58 | 49 54 0d 09 09 09 54 48 |alse EX|IT....TH|
|00002140| 45 4e 0d 09 09 54 48 45 | 4e 0d 09 54 48 45 4e 0d |EN...THE|N..THEN.|
|00002150| 0d 09 61 64 64 72 20 66 | 6e 75 6d 62 65 72 20 20 |..addr f|number |
|00002160| 3f 6e 6f 74 46 6f 75 6e | 64 0d 09 73 74 61 74 65 |?notFoun|d..state|
|00002170| 20 20 49 46 20 20 70 6f | 73 74 70 6f 6e 65 20 66 | IF po|stpone f|
|00002180| 6c 69 74 65 72 61 6c 20 | 20 54 48 45 4e 20 20 74 |literal | THEN t|
|00002190| 72 75 65 20 20 3b 66 0d | 0d 0d 5c 20 46 50 20 73 |rue ;f.|..\ FP s|
|000021a0| 74 61 63 6b 20 64 75 6d | 70 3a 0d 0d 3a 20 64 75 |tack dum|p:..: du|
|000021b0| 6d 6d 79 20 3b 0d 0d 3a | 20 46 2e 53 20 20 7b 20 |mmy ;..:| F.S { |
|000021c0| 5c 20 73 74 61 72 74 2d | 61 64 64 72 20 65 6e 64 |\ start-|addr end|
|000021d0| 2d 61 64 64 72 20 5c 20 | 76 61 6c 20 64 70 74 68 |-addr \ |val dpth|
|000021e0| 20 2d 2d 20 7d 0d 0d 09 | 30 2e 30 20 30 2e 30 20 | -- }...|0.0 0.0 |
|000021f0| 20 64 75 6d 6d 79 09 09 | 5c 20 70 75 73 68 20 6f | dummy..|\ push o|
|00002200| 66 66 20 74 68 65 20 32 | 20 63 65 6c 6c 73 20 69 |ff the 2| cells i|
|00002210| 6e 20 72 65 67 73 0d 09 | 30 20 2d 3e 20 6f 75 74 |n regs..|0 -> out|
|00002220| 0d 09 66 73 70 20 2d 3e | 20 73 74 61 72 74 2d 61 |..fsp ->| start-a|
|00002230| 64 64 72 20 20 66 73 70 | 30 20 2d 3e 20 65 6e 64 |ddr fsp|0 -> end|
|00002240| 2d 61 64 64 72 0d 0d 09 | 73 74 61 72 74 2d 61 64 |-addr...|start-ad|
|00002250| 64 72 20 65 6e 64 2d 61 | 64 64 72 20 3e 0d 09 49 |dr end-a|ddr >..I|
|00002260| 46 09 2e 22 20 20 75 6e | 64 65 72 66 6c 6f 77 22 |F.." un|derflow"|
|00002270| 09 63 72 20 66 32 64 72 | 6f 70 20 20 45 58 49 54 |.cr f2dr|op EXIT|
|00002280| 20 20 54 48 45 4e 0d 09 | 73 74 61 72 74 2d 61 64 | THEN..|start-ad|
|00002290| 64 72 20 65 6e 64 2d 61 | 64 64 72 20 3d 0d 09 49 |dr end-a|ddr =..I|
|000022a0| 46 09 2e 22 20 20 65 6d | 70 74 79 22 09 09 63 72 |F.." em|pty"..cr|
|000022b0| 20 66 32 64 72 6f 70 20 | 20 45 58 49 54 20 20 54 | f2drop | EXIT T|
|000022c0| 48 45 4e 0d 0d 09 65 6e | 64 2d 61 64 64 72 20 73 |HEN...en|d-addr s|
|000022d0| 74 61 72 74 2d 61 64 64 | 72 20 2d 20 33 20 61 3e |tart-add|r - 3 a>|
|000022e0| 3e 20 20 2d 3e 20 64 70 | 74 68 0d 09 2e 22 20 20 |> -> dp|th..." |
|000022f0| 64 65 70 74 68 20 22 20 | 20 64 70 74 68 20 2e 0d |depth " | dpth ..|
|00002300| 0d 09 42 45 47 49 4e 0d | 5c 09 09 3f 70 61 75 73 |..BEGIN.|\..?paus|
|00002310| 65 0d 09 09 63 72 0d 09 | 09 73 74 61 72 74 2d 61 |e...cr..|.start-a|
|00002320| 64 64 72 20 66 40 20 65 | 2e 0d 0d 09 09 38 20 2b |ddr f@ e|.....8 +|
|00002330| 2b 3e 20 73 74 61 72 74 | 2d 61 64 64 72 0d 09 09 |+> start|-addr...|
|00002340| 73 74 61 72 74 2d 61 64 | 64 72 20 65 6e 64 2d 61 |start-ad|dr end-a|
|00002350| 64 64 72 20 3e 3d 0d 09 | 55 4e 54 49 4c 0d 09 63 |ddr >=..|UNTIL..c|
|00002360| 72 20 20 66 32 64 72 6f | 70 0d 3b 0d 0d 5c 20 46 |r f2dro|p.;..\ F|
|00002370| 2e 53 2b 20 64 6f 65 73 | 20 6f 75 72 20 46 50 20 |.S+ does| our FP |
|00002380| 73 74 61 63 6b 20 64 69 | 73 70 6c 61 79 20 69 6e |stack di|splay in|
|00002390| 20 74 68 65 20 4d 6f 70 | 73 20 77 69 6e 64 6f 77 | the Mop|s window|
|000023a0| 2e 20 20 49 74 27 73 20 | 66 6f 72 77 61 72 64 0d |. It's |forward.|
|000023b0| 5c 20 64 65 66 69 6e 65 | 64 2c 20 61 6e 64 20 69 |\ define|d, and i|
|000023c0| 6e 69 74 69 61 6c 6c 79 | 20 72 65 73 6f 6c 76 65 |nitially| resolve|
|000023d0| 64 20 74 6f 20 61 20 64 | 75 6d 6d 79 20 77 6f 72 |d to a d|ummy wor|
|000023e0| 64 20 77 68 69 63 68 20 | 64 6f 65 73 20 6e 6f 74 |d which |does not|
|000023f0| 68 69 6e 67 2e 0d 5c 20 | 48 65 72 65 20 77 65 20 |hing..\ |Here we |
|00002400| 72 65 2d 72 65 73 6f 6c | 76 65 20 69 74 2e 20 20 |re-resol|ve it. |
|00002410| 49 74 27 73 20 63 61 6c | 6c 65 64 20 66 72 6f 6d |It's cal|led from|
|00002420| 20 74 68 65 20 44 53 3a | 20 6d 65 74 68 6f 64 20 | the DS:| method |
|00002430| 69 6e 20 0d 5c 20 63 6c | 61 73 73 20 54 45 46 77 |in .\ cl|ass TEFw|
|00002440| 69 6e 64 2e 0d 0d 3a 66 | 20 46 2e 53 2b 0d 09 67 |ind...:f| F.S+..g|
|00002450| 65 74 62 6f 74 78 3a 20 | 74 65 6d 70 52 65 63 74 |etbotx: |tempRect|
|00002460| 20 32 2f 20 6e 65 67 61 | 74 65 20 20 30 20 20 73 | 2/ nega|te 0 s|
|00002470| 65 74 4f 72 69 67 69 6e | 0d 09 31 30 20 31 30 20 |etOrigin|..10 10 |
|00002480| 67 6f 74 6f 78 79 20 20 | 2e 22 20 46 50 20 73 74 |gotoxy |." FP st|
|00002490| 61 63 6b 3a 20 20 22 0d | 09 66 2e 73 0d 09 30 20 |ack: ".|.f.s..0 |
|000024a0| 30 20 73 65 74 4f 72 69 | 67 69 6e 0d 3b 66 0d 0d |0 setOri|gin.;f..|
|000024b0| 5c 09 09 09 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |\...====|========|
|000024c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000024d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 0d |========|=======.|
|000024e0| 5c 09 09 09 09 09 49 6e | 74 65 67 65 72 20 3c 2d |\.....In|teger <-|
|000024f0| 3e 20 46 50 20 63 6f 6e | 76 65 72 73 69 6f 6e 73 |> FP con|versions|
|00002500| 0d 5c 09 09 09 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.\...===|========|
|00002510| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00002530| 0d 0d 28 2a 09 54 68 65 | 20 61 6c 67 6f 72 69 74 |..(*.The| algorit|
|00002540| 68 6d 20 68 65 72 65 20 | 6c 6f 6f 6b 73 20 61 20 |hm here |looks a |
|00002550| 62 69 74 20 6d 61 67 69 | 63 2c 20 62 75 74 20 69 |bit magi|c, but i|
|00002560| 73 6e 27 74 20 72 65 61 | 6c 6c 79 20 63 6f 6d 70 |sn't rea|lly comp|
|00002570| 6c 69 63 61 74 65 64 2e | 0d 09 54 68 65 20 69 6e |licated.|..The in|
|00002580| 69 74 69 61 6c 20 70 72 | 6f 62 6c 65 6d 20 69 73 |itial pr|oblem is|
|00002590| 20 74 68 65 20 64 69 66 | 66 65 72 65 6e 74 20 77 | the dif|ferent w|
|000025a0| 61 79 20 77 65 20 72 65 | 70 72 65 73 65 6e 74 20 |ay we re|present |
|000025b0| 6e 65 67 61 74 69 76 65 | 0d 09 6e 75 6d 62 65 72 |negative|..number|
|000025c0| 73 20 69 6e 20 46 50 20 | 61 6e 64 20 69 6e 74 65 |s in FP |and inte|
|000025d0| 67 65 72 20 61 72 69 74 | 68 6d 65 74 69 63 2e 20 |ger arit|hmetic. |
|000025e0| 20 46 6f 72 20 61 20 73 | 69 6e 67 6c 65 20 28 34 | For a s|ingle (4|
|000025f0| 2d 62 79 74 65 29 20 69 | 6e 74 65 67 65 72 2c 0d |-byte) i|nteger,.|
|00002600| 09 77 65 20 66 69 72 73 | 74 20 62 69 61 73 20 74 |.we firs|t bias t|
|00002610| 68 65 20 69 6e 74 65 67 | 65 72 20 62 79 20 66 6c |he integ|er by fl|
|00002620| 69 70 70 69 6e 67 20 74 | 68 65 20 74 6f 70 20 62 |ipping t|he top b|
|00002630| 69 74 2e 20 20 54 68 69 | 73 20 63 6f 6e 76 65 72 |it. Thi|s conver|
|00002640| 74 73 20 0d 09 74 68 65 | 20 32 27 73 20 63 6f 6d |ts ..the| 2's com|
|00002650| 70 6c 65 6d 65 6e 74 20 | 69 6e 74 65 67 65 72 20 |plement |integer |
|00002660| 74 6f 20 61 6e 20 61 6e | 20 75 6e 73 69 67 6e 65 |to an an| unsigne|
|00002670| 64 20 69 6e 74 65 67 65 | 72 20 62 69 61 73 73 65 |d intege|r biasse|
|00002680| 64 20 62 79 20 0d 09 32 | 2a 2a 33 31 2e 0d 09 0d |d by ..2|**31....|
|00002690| 09 57 65 20 6e 6f 77 20 | 63 6f 6e 76 65 72 74 20 |.We now |convert |
|000026a0| 74 68 69 73 20 74 6f 20 | 46 50 20 62 79 20 70 72 |this to |FP by pr|
|000026b0| 65 70 65 6e 64 69 6e 67 | 20 61 6e 6f 74 68 65 72 |epending| another|
|000026c0| 20 33 32 2d 62 69 74 20 | 77 6f 72 64 0d 09 77 68 | 32-bit |word..wh|
|000026d0| 69 63 68 20 63 6f 6e 74 | 61 69 6e 73 20 6a 75 73 |ich cont|ains jus|
|000026e0| 74 20 74 68 65 20 65 78 | 70 6f 6e 65 6e 74 2e 20 |t the ex|ponent. |
|000026f0| 20 54 6f 20 67 65 74 20 | 74 68 69 73 20 65 78 70 | To get |this exp|
|00002700| 6f 6e 65 6e 74 2c 20 72 | 65 6d 65 6d 62 65 72 0d |onent, r|emember.|
|00002710| 09 74 68 61 74 20 69 66 | 20 74 68 65 20 62 69 6e |.that if| the bin|
|00002720| 61 72 79 20 70 6f 69 6e | 74 20 69 73 20 73 74 72 |ary poin|t is str|
|00002730| 61 69 67 68 74 20 61 66 | 74 65 72 20 74 68 65 20 |aight af|ter the |
|00002740| 65 78 70 6f 6e 65 6e 74 | 20 28 6a 75 73 74 0d 09 |exponent| (just..|
|00002750| 62 65 66 6f 72 65 20 62 | 69 74 20 31 32 29 20 74 |before b|it 12) t|
|00002760| 68 65 20 62 69 61 73 73 | 65 64 20 65 78 70 6f 6e |he biass|ed expon|
|00002770| 65 6e 74 20 69 73 20 31 | 30 32 33 20 28 73 65 65 |ent is 1|023 (see|
|00002780| 20 74 68 65 20 6d 61 6e | 75 61 6c 29 2e 0d 09 53 | the man|ual)...S|
|00002790| 6f 20 6d 6f 76 69 6e 67 | 20 74 68 65 20 62 69 6e |o moving| the bin|
|000027a0| 61 72 79 20 70 6f 69 6e | 74 20 64 6f 77 6e 20 74 |ary poin|t down t|
|000027b0| 6f 20 74 68 65 20 69 6e | 74 65 67 65 72 20 70 6f |o the in|teger po|
|000027c0| 73 69 74 69 6f 6e 2c 20 | 62 65 66 6f 72 65 0d 09 |sition, |before..|
|000027d0| 74 68 65 20 28 69 6d 61 | 67 69 6e 61 72 79 29 20 |the (ima|ginary) |
|000027e0| 62 69 74 20 36 34 2c 20 | 77 65 20 67 65 74 20 61 |bit 64, |we get a|
|000027f0| 6e 20 65 78 70 6f 6e 65 | 6e 74 20 6f 66 0d 09 31 |n expone|nt of..1|
|00002800| 30 32 33 2b 36 34 2d 31 | 32 20 3d 20 31 30 32 34 |023+64-1|2 = 1024|
|00002810| 2b 35 31 20 3d 20 24 34 | 33 33 2e 0d 0d 09 4e 6f |+51 = $4|33....No|
|00002820| 77 20 74 68 65 20 6e 65 | 77 20 46 50 20 6e 75 6d |w the ne|w FP num|
|00002830| 62 65 72 20 68 61 73 20 | 61 6e 20 69 6d 70 6c 69 |ber has |an impli|
|00002840| 63 69 74 20 6c 65 66 74 | 6d 6f 73 74 20 31 20 69 |cit left|most 1 i|
|00002850| 6e 20 74 68 65 20 28 35 | 32 2d 62 69 74 29 0d 09 |n the (5|2-bit)..|
|00002860| 66 72 61 63 74 69 6f 6e | 20 70 61 72 74 2c 20 73 |fraction| part, s|
|00002870| 6f 20 69 6e 20 64 6f 69 | 6e 67 20 74 68 69 73 20 |o in doi|ng this |
|00002880| 77 65 27 76 65 20 69 6e | 20 65 66 66 65 63 74 20 |we've in| effect |
|00002890| 61 64 64 65 64 20 61 6e | 6f 74 68 65 72 0d 09 62 |added an|other..b|
|000028a0| 69 61 73 20 6f 66 20 32 | 2a 2a 35 32 2e 20 20 41 |ias of 2|**52. A|
|000028b0| 6c 6c 20 77 65 20 74 68 | 65 6e 20 68 61 76 65 20 |ll we th|en have |
|000028c0| 74 6f 20 64 6f 20 69 73 | 20 6c 6f 61 64 20 74 68 |to do is| load th|
|000028d0| 69 73 20 69 6e 74 6f 20 | 61 6e 20 46 50 52 2c 0d |is into |an FPR,.|
|000028e0| 09 61 6e 64 20 73 75 62 | 74 72 61 63 74 20 74 68 |.and sub|tract th|
|000028f0| 65 20 74 6f 74 61 6c 20 | 62 69 61 73 2c 20 77 68 |e total |bias, wh|
|00002900| 69 63 68 20 61 74 20 74 | 68 65 20 73 61 6d 65 20 |ich at t|he same |
|00002910| 74 69 6d 65 20 6e 6f 72 | 6d 61 6c 69 7a 65 73 20 |time nor|malizes |
|00002920| 0d 09 74 68 65 20 72 65 | 73 75 6c 74 20 66 6f 72 |..the re|sult for|
|00002930| 20 75 73 2e 20 20 54 68 | 65 20 74 6f 74 61 6c 20 | us. Th|e total |
|00002940| 62 69 61 73 20 69 73 20 | 32 2a 2a 35 32 20 2b 20 |bias is |2**52 + |
|00002950| 32 2a 2a 33 31 2e 20 20 | 49 6e 20 46 50 2c 0d 09 |2**31. |In FP,..|
|00002960| 74 68 69 73 20 69 73 20 | 61 20 6e 75 6d 62 65 72 |this is |a number|
|00002970| 20 77 69 74 68 20 74 68 | 65 20 73 61 6d 65 20 65 | with th|e same e|
|00002980| 78 70 6f 6e 65 6e 74 20 | 61 73 20 61 62 6f 76 65 |xponent |as above|
|00002990| 20 28 24 34 33 33 29 2c | 20 61 6e 64 0d 09 61 20 | ($433),| and..a |
|000029a0| 31 20 69 6e 20 62 69 74 | 20 33 32 20 28 74 68 65 |1 in bit| 32 (the|
|000029b0| 20 32 2a 2a 35 32 20 69 | 73 20 61 67 61 69 6e 20 | 2**52 i|s again |
|000029c0| 69 6d 70 6c 69 63 69 74 | 29 2e 20 20 54 68 69 73 |implicit|). This|
|000029d0| 20 69 73 20 74 68 65 20 | 6e 75 6d 62 65 72 0d 09 | is the |number..|
|000029e0| 22 66 6d 61 67 69 63 22 | 20 62 65 6c 6f 77 2e 0d |"fmagic"| below..|
|000029f0| 09 0d 09 46 6f 72 20 63 | 6f 6e 76 65 72 74 69 6e |...For c|onvertin|
|00002a00| 67 20 61 20 64 6f 75 62 | 6c 65 20 69 6e 74 65 67 |g a doub|le integ|
|00002a10| 65 72 20 74 6f 20 66 6c | 6f 61 74 69 6e 67 2c 20 |er to fl|oating, |
|00002a20| 77 65 20 64 6f 20 74 68 | 65 20 65 71 75 69 76 61 |we do th|e equiva|
|00002a30| 6c 65 6e 74 2e 0d 09 54 | 68 65 20 46 6f 72 74 68 |lent...T|he Forth|
|00002a40| 20 53 74 61 6e 64 61 72 | 64 20 73 61 79 73 20 69 | Standar|d says i|
|00002a50| 74 27 73 20 61 6d 62 69 | 67 75 6f 75 73 20 69 66 |t's ambi|guous if|
|00002a60| 20 74 68 65 20 6e 75 6d | 62 65 72 20 63 61 6e 27 | the num|ber can'|
|00002a70| 74 20 62 65 0d 09 65 78 | 61 63 74 6c 79 20 72 65 |t be..ex|actly re|
|00002a80| 70 72 65 73 65 6e 74 65 | 64 20 61 73 20 61 20 66 |presente|d as a f|
|00002a90| 6c 6f 61 74 2c 20 77 68 | 69 63 68 20 66 6f 72 20 |loat, wh|ich for |
|00002aa0| 75 73 20 6d 65 61 6e 73 | 20 69 66 20 74 68 65 72 |us means| if ther|
|00002ab0| 65 20 61 72 65 0d 09 6d | 6f 72 65 20 74 68 61 6e |e are..m|ore than|
|00002ac0| 20 35 32 20 73 69 67 6e | 69 66 69 63 61 6e 74 20 | 52 sign|ificant |
|00002ad0| 62 69 74 73 20 69 6e 20 | 74 68 65 20 64 6f 75 62 |bits in |the doub|
|00002ae0| 6c 65 20 69 6e 74 65 67 | 65 72 2e 20 20 49 6e 20 |le integ|er. In |
|00002af0| 74 68 69 73 20 63 61 73 | 65 2c 0d 09 61 73 20 69 |this cas|e,..as i|
|00002b00| 74 27 73 20 61 6d 62 69 | 67 75 6f 75 73 2c 20 77 |t's ambi|guous, w|
|00002b10| 65 20 63 61 6e 20 64 6f | 20 61 6e 79 74 68 69 6e |e can do| anythin|
|00002b20| 67 20 77 65 20 6c 69 6b | 65 2e 20 20 4f 75 72 20 |g we lik|e. Our |
|00002b30| 61 6c 67 6f 72 69 74 68 | 6d 20 77 69 6c 6c 0d 09 |algorith|m will..|
|00002b40| 73 69 6d 70 6c 79 20 67 | 69 76 65 20 61 20 72 6f |simply g|ive a ro|
|00002b50| 75 6e 64 65 64 20 72 65 | 73 75 6c 74 2c 20 77 68 |unded re|sult, wh|
|00002b60| 69 63 68 20 69 73 20 70 | 72 65 74 74 79 20 72 65 |ich is p|retty re|
|00002b70| 61 73 6f 6e 61 62 6c 65 | 2e 0d 2a 29 0d 0d 09 09 |asonable|..*)....|
|00002b80| 76 61 72 69 61 62 6c 65 | 20 20 66 6d 61 67 69 63 |variable| fmagic|
|00002b90| 09 38 20 61 6c 6c 6f 74 | 0d 24 20 34 33 33 30 30 |.8 allot|.$ 43300|
|00002ba0| 30 30 30 09 66 6d 61 67 | 69 63 20 21 0d 24 20 38 |000.fmag|ic !.$ 8|
|00002bb0| 30 30 30 30 30 30 30 09 | 66 6d 61 67 69 63 20 34 |0000000.|fmagic 4|
|00002bc0| 2b 20 21 0d 0d 09 09 76 | 61 72 69 61 62 6c 65 20 |+ !....v|ariable |
|00002bd0| 20 66 6d 61 67 69 63 32 | 09 38 20 61 6c 6c 6f 74 | fmagic2|.8 allot|
|00002be0| 0d 24 20 34 35 33 30 30 | 30 30 30 09 66 6d 61 67 |.$ 45300|000.fmag|
|00002bf0| 69 63 32 20 21 0d 24 20 | 38 30 30 30 30 30 30 30 |ic2 !.$ |80000000|
|00002c00| 09 66 6d 61 67 69 63 32 | 20 34 2b 20 21 0d 0d 09 |.fmagic2| 4+ !...|
|00002c10| 09 76 61 72 69 61 62 6c | 65 20 20 66 6d 61 67 69 |.variabl|e fmagi|
|00002c20| 63 33 09 38 20 61 6c 6c | 6f 74 0d 24 20 34 33 33 |c3.8 all|ot.$ 433|
|00002c30| 30 30 30 30 30 09 66 6d | 61 67 69 63 33 20 21 0d |00000.fm|agic3 !.|
|00002c40| 30 09 09 09 66 6d 61 67 | 69 63 33 20 34 2b 20 21 |0...fmag|ic3 4+ !|
|00002c50| 0d 0d 3a 20 53 3e 46 20 | 20 28 20 6e 20 2d 2d 20 |..: S>F | ( n -- |
|00002c60| 29 20 20 28 20 66 3a 20 | 2d 2d 20 72 20 29 0d 09 |) ( f: |-- r )..|
|00002c70| 24 20 34 33 33 30 30 30 | 30 30 20 20 66 74 65 6d |$ 433000|00 ftem|
|00002c80| 70 20 21 09 09 09 5c 20 | 53 74 6f 72 65 20 65 78 |p !...\ |Store ex|
|00002c90| 70 6f 6e 65 6e 74 0d 09 | 24 20 38 30 30 30 30 30 |ponent..|$ 800000|
|00002ca0| 30 30 20 20 78 6f 72 09 | 09 09 09 5c 20 66 6c 69 |00 xor.|...\ fli|
|00002cb0| 70 20 74 6f 70 20 62 69 | 74 20 6f 66 20 69 6e 74 |p top bi|t of int|
|00002cc0| 65 67 65 72 0d 09 66 74 | 65 6d 70 20 34 2b 20 21 |eger..ft|emp 4+ !|
|00002cd0| 09 09 09 09 09 5c 20 73 | 74 6f 72 65 20 61 73 20 |.....\ s|tore as |
|00002ce0| 6c 6f 20 68 61 6c 66 20 | 6f 66 20 46 50 20 6e 75 |lo half |of FP nu|
|00002cf0| 6d 62 65 72 0d 09 66 74 | 65 6d 70 20 66 40 09 09 |mber..ft|emp f@..|
|00002d00| 09 09 09 5c 20 66 65 74 | 63 68 20 74 6f 20 46 50 |...\ fet|ch to FP|
|00002d10| 20 72 65 67 73 0d 09 66 | 6d 61 67 69 63 20 66 40 | regs..f|magic f@|
|00002d20| 20 20 66 2d 09 09 09 09 | 5c 20 73 75 62 74 72 61 | f-....|\ subtra|
|00002d30| 63 74 20 46 50 20 62 69 | 61 73 0d 3b 0d 0d 3a 20 |ct FP bi|as.;..: |
|00002d40| 44 3e 46 0d 09 24 20 34 | 35 33 30 30 30 30 30 20 |D>F..$ 4|5300000 |
|00002d50| 20 66 74 65 6d 70 20 21 | 09 09 09 5c 20 53 74 6f | ftemp !|...\ Sto|
|00002d60| 72 65 20 65 78 70 6f 6e | 65 6e 74 0d 09 24 20 38 |re expon|ent..$ 8|
|00002d70| 30 30 30 30 30 30 30 20 | 20 78 6f 72 09 09 09 09 |0000000 | xor....|
|00002d80| 5c 20 66 6c 69 70 20 74 | 6f 70 20 62 69 74 20 6f |\ flip t|op bit o|
|00002d90| 66 20 69 6e 74 65 67 65 | 72 0d 09 66 74 65 6d 70 |f intege|r..ftemp|
|00002da0| 20 34 2b 20 21 09 09 09 | 09 09 5c 20 73 74 6f 72 | 4+ !...|..\ stor|
|00002db0| 65 20 61 73 20 6c 6f 20 | 68 61 6c 66 20 6f 66 20 |e as lo |half of |
|00002dc0| 46 50 20 6e 75 6d 62 65 | 72 0d 09 66 74 65 6d 70 |FP numbe|r..ftemp|
|00002dd0| 20 66 40 09 09 09 09 09 | 5c 20 66 65 74 63 68 20 | f@.....|\ fetch |
|00002de0| 74 6f 20 46 50 20 72 65 | 67 73 0d 09 66 6d 61 67 |to FP re|gs..fmag|
|00002df0| 69 63 32 20 66 40 20 20 | 66 2d 09 09 09 09 5c 20 |ic2 f@ |f-....\ |
|00002e00| 73 75 62 74 72 61 63 74 | 20 46 50 20 62 69 61 73 |subtract| FP bias|
|00002e10| 0d 09 0d 09 24 20 34 33 | 33 30 30 30 30 30 20 20 |....$ 43|300000 |
|00002e20| 66 74 65 6d 70 20 21 09 | 09 09 5c 20 53 74 6f 72 |ftemp !.|..\ Stor|
|00002e30| 65 20 65 78 70 6f 6e 65 | 6e 74 0d 09 66 74 65 6d |e expone|nt..ftem|
|00002e40| 70 20 34 2b 20 21 09 09 | 09 09 09 5c 20 73 74 6f |p 4+ !..|...\ sto|
|00002e50| 72 65 20 61 73 20 6c 6f | 20 68 61 6c 66 20 6f 66 |re as lo| half of|
|00002e60| 20 46 50 20 6e 75 6d 62 | 65 72 0d 09 66 74 65 6d | FP numb|er..ftem|
|00002e70| 70 20 66 40 09 09 09 09 | 09 5c 20 66 65 74 63 68 |p f@....|.\ fetch|
|00002e80| 20 74 6f 20 46 50 20 72 | 65 67 73 0d 09 66 6d 61 | to FP r|egs..fma|
|00002e90| 67 69 63 33 20 66 40 20 | 20 66 2d 09 09 09 09 5c |gic3 f@ | f-....\|
|00002ea0| 20 73 75 62 74 72 61 63 | 74 20 75 6e 73 69 67 6e | subtrac|t unsign|
|00002eb0| 65 64 20 46 50 20 62 69 | 61 73 0d 09 0d 09 66 2b |ed FP bi|as....f+|
|00002ec0| 09 09 09 09 09 09 09 5c | 20 61 64 64 20 62 6f 74 |.......\| add bot|
|00002ed0| 68 20 63 6f 6d 70 6f 6e | 65 6e 74 73 0d 3b 0d 0d |h compon|ents.;..|
|00002ee0| 0d 5c 20 46 3e 44 20 63 | 6f 75 6c 64 20 62 65 20 |.\ F>D c|ould be |
|00002ef0| 69 6d 70 6c 65 6d 65 6e | 74 65 64 20 61 6c 6f 6e |implemen|ted alon|
|00002f00| 67 20 74 68 65 20 6c 69 | 6e 65 73 20 6f 66 20 52 |g the li|nes of R|
|00002f10| 4f 55 4e 44 20 28 73 65 | 65 20 61 62 6f 76 65 29 |OUND (se|e above)|
|00002f20| 2c 20 62 75 74 20 0d 5c | 20 20 77 69 74 68 20 61 |, but .\| with a|
|00002f30| 6c 6c 20 74 68 65 20 6d | 6f 6e 6b 65 79 69 6e 67 |ll the m|onkeying|
|00002f40| 20 61 72 6f 75 6e 64 20 | 77 69 74 68 20 72 6f 75 | around |with rou|
|00002f50| 6e 64 69 6e 67 20 6d 6f | 64 65 73 20 65 74 63 2c |nding mo|des etc,|
|00002f60| 20 69 74 20 74 75 72 6e | 73 20 6f 75 74 0d 5c 20 | it turn|s out.\ |
|00002f70| 20 74 6f 20 74 61 6b 65 | 20 34 20 74 69 6d 65 73 | to take| 4 times|
|00002f80| 20 61 73 20 6d 61 6e 79 | 20 69 6e 73 74 72 75 63 | as many| instruc|
|00002f90| 74 69 6f 6e 73 20 61 73 | 20 74 68 65 20 66 6f 6c |tions as| the fol|
|00002fa0| 6c 6f 77 69 6e 67 2c 20 | 77 68 69 63 68 20 77 65 |lowing, |which we|
|00002fb0| 27 76 65 0d 5c 20 20 6c | 69 66 74 65 64 20 66 72 |'ve.\ l|ifted fr|
|00002fc0| 6f 6d 20 4d 65 74 72 6f | 77 65 72 6b 73 3a 0d 0d |om Metro|werks:..|
|00002fd0| 0d 3a 70 70 63 5f 63 6f | 64 65 20 46 3e 44 0d 0d |.:ppc_co|de F>D..|
|00002fe0| 09 66 72 32 09 09 2d 38 | 09 09 72 52 50 09 09 73 |.fr2..-8|..rRP..s|
|00002ff0| 74 66 64 2c 0d 09 66 72 | 32 09 09 66 72 31 09 09 |tfd,..fr|2..fr1..|
|00003000| 09 09 66 6d 72 2c 0d 09 | 66 72 31 09 09 30 09 09 |..fmr,..|fr1..0..|
|00003010| 72 46 53 50 09 6c 66 64 | 2c 0d 09 72 46 53 50 09 |rFSP.lfd|,..rFSP.|
|00003020| 72 46 53 50 09 38 09 09 | 61 64 64 69 2c 0d 0d 09 |rFSP.8..|addi,...|
|00003030| 72 33 09 09 2d 34 09 09 | 72 53 50 09 09 73 74 77 |r3..-4..|rSP..stw|
|00003040| 2c 0d 09 72 34 09 09 2d | 38 09 09 72 53 50 09 09 |,..r4..-|8..rSP..|
|00003050| 73 74 77 75 2c 0d 0d 09 | 72 34 09 09 2d 38 09 09 |stwu,...|r4..-8..|
|00003060| 72 52 50 09 09 6c 77 7a | 2c 0d 09 72 33 09 09 2d |rRP..lwz|,..r3..-|
|00003070| 34 09 09 72 52 50 09 09 | 6c 77 7a 2c 0d 09 72 35 |4..rRP..|lwz,..r5|
|00003080| 09 09 72 34 20 31 32 20 | 32 31 20 33 31 09 09 72 |..r4 12 |21 31..r|
|00003090| 6c 77 69 6e 6d 2c 0d 09 | 72 35 09 09 31 30 32 33 |lwinm,..|r5..1023|
|000030a0| 09 09 09 63 6d 70 6c 69 | 2c 0d 6c 74 20 69 66 2c |...cmpli|,.lt if,|
|000030b0| 0d 09 72 33 09 09 30 09 | 09 09 09 6c 69 2c 0d 09 |..r3..0.|...li,..|
|000030c0| 72 34 09 09 30 09 09 09 | 09 6c 69 2c 0d 09 09 09 |r4..0...|.li,....|
|000030d0| 09 09 09 09 62 6c 72 2c | 0d 74 68 65 6e 2c 0d 0d |....blr,|.then,..|
|000030e0| 09 72 36 09 09 72 34 09 | 09 09 09 6d 72 2c 0d 09 |.r6..r4.|...mr,..|
|000030f0| 72 34 09 09 72 34 20 30 | 20 31 32 20 33 31 09 09 |r4..r4 0| 12 31..|
|00003100| 72 6c 77 69 6e 6d 2c 09 | 09 5c 20 6d 61 6e 74 69 |rlwinm,.|.\ manti|
|00003110| 73 73 61 20 68 61 73 20 | 69 6d 70 6c 69 65 64 20 |ssa has |implied |
|00003120| 31 20 62 69 74 0d 09 72 | 34 09 09 72 34 09 09 24 |1 bit..r|4..r4..$|
|00003130| 20 31 30 09 6f 72 69 73 | 2c 09 09 5c 20 5b 6e 68 | 10.oris|,..\ [nh|
|00003140| 20 3d 20 28 6e 68 20 26 | 20 30 78 66 66 66 66 66 | = (nh &| 0xfffff|
|00003150| 29 20 7c 20 30 78 31 30 | 30 30 30 30 5d 0d 0d 5c |) | 0x10|0000]..\|
|00003160| 20 77 68 65 6e 20 65 78 | 70 2d 31 30 37 35 20 3c | when ex|p-1075 <|
|00003170| 20 30 20 77 65 20 6e 65 | 65 64 20 74 6f 20 73 68 | 0 we ne|ed to sh|
|00003180| 69 66 74 20 72 69 67 68 | 74 2c 20 65 6c 73 65 20 |ift righ|t, else |
|00003190| 73 68 69 66 74 20 6c 65 | 66 74 0d 0d 09 72 35 09 |shift le|ft...r5.|
|000031a0| 09 72 35 09 09 2d 31 30 | 37 35 09 61 64 64 69 2c |.r5..-10|75.addi,|
|000031b0| 0d 09 72 35 09 09 30 09 | 09 09 09 63 6d 70 69 2c |..r5..0.|...cmpi,|
|000031c0| 0d 6c 74 20 69 66 2c 0d | 5c 20 73 68 69 66 74 20 |.lt if,.|\ shift |
|000031d0| 72 33 3a 72 34 20 72 69 | 67 68 74 20 62 79 20 2d |r3:r4 ri|ght by -|
|000031e0| 65 78 70 20 62 69 74 73 | 0d 0d 09 72 35 09 09 72 |exp bits|...r5..r|
|000031f0| 35 09 09 09 09 6e 65 67 | 2c 0d 09 72 38 09 09 72 |5....neg|,..r8..r|
|00003200| 35 09 09 33 32 09 09 73 | 75 62 66 69 63 2c 0d 09 |5..32..s|ubfic,..|
|00003210| 72 39 09 09 72 35 09 09 | 2d 33 32 09 09 61 64 64 |r9..r5..|-32..add|
|00003220| 69 63 2c 0d 09 72 33 09 | 09 72 33 09 09 72 35 09 |ic,..r3.|.r3..r5.|
|00003230| 09 73 72 77 2c 09 09 0d | 09 72 31 30 09 09 72 34 |.srw,...|.r10..r4|
|00003240| 09 09 72 38 09 09 73 6c | 77 2c 0d 09 72 33 09 09 |..r8..sl|w,..r3..|
|00003250| 72 33 09 09 72 31 30 09 | 09 6f 72 2c 09 0d 09 72 |r3..r10.|.or,...r|
|00003260| 31 30 09 09 72 34 09 09 | 72 39 09 09 73 72 77 2c |10..r4..|r9..srw,|
|00003270| 09 0d 09 72 33 09 09 72 | 33 09 09 72 31 30 09 09 |...r3..r|3..r10..|
|00003280| 6f 72 2c 09 09 5c 20 6c | 6f 77 20 77 6f 72 64 0d |or,..\ l|ow word.|
|00003290| 09 72 34 09 09 72 34 09 | 09 72 35 09 09 73 72 77 |.r4..r4.|.r5..srw|
|000032a0| 2c 09 5c 20 68 69 67 68 | 20 77 6f 72 64 0d 0d 65 |,.\ high| word..e|
|000032b0| 6c 73 65 2c 0d 5c 20 73 | 68 69 66 74 20 72 33 3a |lse,.\ s|hift r3:|
|000032c0| 72 34 20 6c 65 66 74 20 | 62 79 20 27 65 78 70 27 |r4 left |by 'exp'|
|000032d0| 20 62 69 74 73 0d 5c 20 | 69 66 20 65 78 70 20 3e | bits.\ |if exp >|
|000032e0| 3d 20 33 32 2c 20 74 68 | 65 6e 20 74 68 65 20 72 |= 32, th|en the r|
|000032f0| 65 73 75 6c 74 20 69 73 | 20 75 6e 64 65 66 69 6e |esult is| undefin|
|00003300| 65 64 2e 20 6c 61 74 65 | 72 20 77 65 20 6d 69 67 |ed. late|r we mig|
|00003310| 68 74 20 66 6f 72 63 65 | 0d 5c 20 74 68 69 73 20 |ht force|.\ this |
|00003320| 74 6f 20 74 68 65 20 6d | 61 78 69 6d 75 6d 20 6c |to the m|aximum l|
|00003330| 6f 6e 67 20 6c 6f 6e 67 | 20 76 61 6c 75 65 20 6f |ong long| value o|
|00003340| 72 20 77 68 61 74 65 76 | 65 72 20 6d 69 67 68 74 |r whatev|er might|
|00003350| 20 6d 61 6b 65 20 73 65 | 6e 73 65 0d 5c 20 74 6f | make se|nse.\ to|
|00003360| 20 75 73 65 72 73 2e 0d | 09 72 38 09 09 72 35 09 | users..|.r8..r5.|
|00003370| 09 33 32 09 09 73 75 62 | 66 69 63 2c 0d 09 72 39 |.32..sub|fic,..r9|
|00003380| 09 09 72 35 09 09 2d 33 | 32 09 09 61 64 64 69 63 |..r5..-3|2..addic|
|00003390| 2c 0d 09 72 34 09 09 72 | 34 09 09 72 35 09 09 73 |,..r4..r|4..r5..s|
|000033a0| 6c 77 2c 0d 09 72 31 30 | 09 09 72 33 09 09 72 38 |lw,..r10|..r3..r8|
|000033b0| 09 09 73 72 77 2c 0d 09 | 72 34 09 09 72 34 09 09 |..srw,..|r4..r4..|
|000033c0| 72 31 30 09 09 6f 72 2c | 0d 09 72 31 30 09 09 72 |r10..or,|..r10..r|
|000033d0| 33 09 09 72 39 09 09 73 | 6c 77 2c 0d 09 72 34 09 |3..r9..s|lw,..r4.|
|000033e0| 09 72 34 09 09 72 31 30 | 09 09 6f 72 2c 09 09 09 |.r4..r10|..or,...|
|000033f0| 5c 20 68 69 67 68 20 77 | 6f 72 64 0d 09 72 33 09 |\ high w|ord..r3.|
|00003400| 09 72 33 09 09 72 35 09 | 09 73 6c 77 2c 09 09 5c |.r3..r5.|.slw,..\|
|00003410| 20 6c 6f 77 20 77 6f 72 | 64 0d 74 68 65 6e 2c 0d | low wor|d.then,.|
|00003420| 0d 5c 20 69 66 20 74 68 | 65 20 73 69 67 6e 20 62 |.\ if th|e sign b|
|00003430| 69 74 20 77 61 73 20 73 | 65 74 2c 20 6e 65 67 61 |it was s|et, nega|
|00003440| 74 65 20 74 68 65 20 6c | 6f 6e 67 20 6c 6f 6e 67 |te the l|ong long|
|00003450| 0d 09 72 36 09 09 72 36 | 09 30 20 30 20 30 09 09 |..r6..r6|.0 0 0..|
|00003460| 72 6c 77 69 6e 6d 2e 2c | 0d 65 71 20 62 63 6c 72 |rlwinm.,|.eq bclr|
|00003470| 2c 0d 0d 09 72 33 09 09 | 72 33 09 09 30 09 09 73 |,...r3..|r3..0..s|
|00003480| 75 62 66 69 63 2c 0d 09 | 72 34 09 09 72 34 09 09 |ubfic,..|r4..r4..|
|00003490| 09 09 73 75 62 66 7a 65 | 2c 0d 0d 09 09 09 09 09 |..subfze|,.......|
|000034a0| 09 09 62 6c 72 2c 0d 3b | 70 70 63 5f 63 6f 64 65 |..blr,.;|ppc_code|
|000034b0| 0d 0d 3a 20 46 3e 53 09 | 66 3e 64 20 20 64 72 6f |..: F>S.|f>d dro|
|000034c0| 70 20 20 3b 0d 0d 0d 5c | 09 09 09 09 3d 3d 3d 3d |p ;...\|....====|
|000034d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000034e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 0d 5c |========|======.\|
|000034f0| 09 09 09 20 20 20 20 20 | 20 09 09 09 43 6f 6e 73 |... | ...Cons|
|00003500| 74 61 6e 74 73 0d 5c 09 | 09 09 09 3d 3d 3d 3d 3d |tants.\.|...=====|
|00003510| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003520| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 0d 0d 5c |========|=====..\|
|00003530| 20 30 2e 30 20 69 73 20 | 61 6c 72 65 61 64 79 20 | 0.0 is |already |
|00003540| 64 65 66 69 6e 65 64 20 | 2d 20 77 65 20 6b 65 65 |defined |- we kee|
|00003550| 70 20 69 74 20 69 6e 20 | 74 68 65 20 72 65 67 69 |p it in |the regi|
|00003560| 73 74 65 72 20 66 72 31 | 34 2e 0d 0d 31 2e 30 20 |ster fr1|4...1.0 |
|00003570| 66 63 6f 6e 73 74 61 6e | 74 09 46 31 2e 30 09 09 |fconstan|t.F1.0..|
|00003580| 5c 20 46 53 4c 20 75 73 | 65 73 20 74 68 69 73 0d |\ FSL us|es this.|
|00003590| 0d 0d 5c 09 09 09 09 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..\....=|========|
|000035a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 0d 5c 09 09 09 20 20 |========|=.\... |
|000035c0| 20 20 20 20 09 09 54 72 | 61 6e 73 63 65 6e 64 65 | ..Tr|anscende|
|000035d0| 6e 74 61 6c 73 20 65 74 | 63 2e 0d 5c 09 09 09 09 |ntals et|c..\....|
|000035e0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000035f0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003600| 3d 3d 0d 0d 73 79 73 63 | 61 6c 6c 20 73 69 6e 0d |==..sysc|all sin.|
|00003610| 73 79 73 63 61 6c 6c 20 | 63 6f 73 0d 73 79 73 63 |syscall |cos.sysc|
|00003620| 61 6c 6c 20 74 61 6e 0d | 0d 73 79 73 63 61 6c 6c |all tan.|.syscall|
|00003630| 09 61 73 69 6e 0d 73 79 | 73 63 61 6c 6c 09 61 63 |.asin.sy|scall.ac|
|00003640| 6f 73 0d 73 79 73 63 61 | 6c 6c 09 61 74 61 6e 0d |os.sysca|ll.atan.|
|00003650| 73 79 73 63 61 6c 6c 20 | 61 74 61 6e 32 0d 0d 73 |syscall |atan2..s|
|00003660| 79 73 63 61 6c 6c 09 73 | 69 6e 68 0d 73 79 73 63 |yscall.s|inh.sysc|
|00003670| 61 6c 6c 09 63 6f 73 68 | 0d 73 79 73 63 61 6c 6c |all.cosh|.syscall|
|00003680| 20 74 61 6e 68 0d 0d 73 | 79 73 63 61 6c 6c 09 61 | tanh..s|yscall.a|
|00003690| 73 69 6e 68 0d 73 79 73 | 63 61 6c 6c 20 61 63 6f |sinh.sys|call aco|
|000036a0| 73 68 0d 73 79 73 63 61 | 6c 6c 09 61 74 61 6e 68 |sh.sysca|ll.atanh|
|000036b0| 0d 0d 73 79 73 63 61 6c | 6c 09 65 78 70 0d 73 79 |..syscal|l.exp.sy|
|000036c0| 73 63 61 6c 6c 09 65 78 | 70 6d 31 0d 73 79 73 63 |scall.ex|pm1.sysc|
|000036d0| 61 6c 6c 09 70 6f 77 0d | 73 79 73 63 61 6c 6c 09 |all.pow.|syscall.|
|000036e0| 6c 6f 67 0d 73 79 73 63 | 61 6c 6c 09 6c 6f 67 31 |log.sysc|all.log1|
|000036f0| 70 0d 73 79 73 63 61 6c | 6c 09 6c 6f 67 31 30 0d |p.syscal|l.log10.|
|00003700| 0d 73 79 73 63 61 6c 6c | 09 73 71 72 74 0d 0d 0d |.syscall|.sqrt...|
|00003710| 3a 20 46 53 49 4e 09 09 | 73 69 6e 20 20 3b 0d 3a |: FSIN..|sin ;.:|
|00003720| 20 46 43 4f 53 09 09 63 | 6f 73 20 20 3b 0d 3a 20 | FCOS..c|os ;.: |
|00003730| 46 54 41 4e 09 09 74 61 | 6e 20 20 3b 0d 0d 3a 20 |FTAN..ta|n ;..: |
|00003740| 46 41 53 49 4e 09 09 61 | 73 69 6e 20 20 3b 0d 3a |FASIN..a|sin ;.:|
|00003750| 20 46 41 43 4f 53 09 09 | 61 63 6f 73 20 20 3b 0d | FACOS..|acos ;.|
|00003760| 3a 20 46 41 54 41 4e 09 | 09 61 74 61 6e 20 20 3b |: FATAN.|.atan ;|
|00003770| 0d 3a 20 46 41 54 41 4e | 32 09 61 74 61 6e 32 20 |.: FATAN|2.atan2 |
|00003780| 3b 0d 0d 3a 20 46 53 49 | 4e 48 09 09 73 69 6e 68 |;..: FSI|NH..sinh|
|00003790| 20 20 3b 0d 3a 20 46 43 | 4f 53 48 09 09 63 6f 73 | ;.: FC|OSH..cos|
|000037a0| 68 20 20 3b 0d 3a 20 46 | 54 41 4e 48 09 09 74 61 |h ;.: F|TANH..ta|
|000037b0| 6e 68 20 20 3b 0d 0d 3a | 20 46 41 53 49 4e 48 09 |nh ;..:| FASINH.|
|000037c0| 61 73 69 6e 68 20 20 3b | 0d 3a 20 46 41 43 4f 53 |asinh ;|.: FACOS|
|000037d0| 48 09 61 63 6f 73 68 20 | 20 3b 0d 3a 20 46 41 54 |H.acosh | ;.: FAT|
|000037e0| 41 4e 48 09 61 74 61 6e | 68 20 20 3b 0d 0d 3a 20 |ANH.atan|h ;..: |
|000037f0| 46 45 58 50 09 09 65 78 | 70 09 09 3b 0d 3a 20 46 |FEXP..ex|p..;.: F|
|00003800| 45 58 50 4d 31 09 65 78 | 70 6d 31 09 3b 0d 3a 20 |EXPM1.ex|pm1.;.: |
|00003810| 46 2a 2a 09 09 70 6f 77 | 09 09 3b 0d 3a 20 46 4c |F**..pow|..;.: FL|
|00003820| 4e 09 09 6c 6f 67 09 09 | 3b 09 09 5c 20 6c 6f 67 |N..log..|;..\ log|
|00003830| 20 74 6f 20 62 61 73 65 | 20 65 0d 3a 20 46 4c 4e | to base| e.: FLN|
|00003840| 50 31 09 09 6c 6f 67 31 | 70 09 3b 0d 3a 20 46 4c |P1..log1|p.;.: FL|
|00003850| 4f 47 09 09 6c 6f 67 31 | 30 09 3b 09 09 5c 20 6c |OG..log1|0.;..\ l|
|00003860| 6f 67 20 74 6f 20 62 61 | 73 65 20 31 30 0d 0d 3a |og to ba|se 10..:|
|00003870| 20 46 53 51 52 54 09 09 | 73 71 72 74 09 3b 0d 0d | FSQRT..|sqrt.;..|
|00003880| 3a 20 31 2f 46 09 09 31 | 2e 30 20 66 73 77 61 70 |: 1/F..1|.0 fswap|
|00003890| 20 66 2f 20 20 3b 0d 3a | 20 46 2a 2a 32 09 09 69 | f/ ;.:| F**2..i|
|000038a0| 6e 6c 69 6e 65 7b 20 66 | 64 75 70 20 66 2a 7d 20 |nline{ f|dup f*} |
|000038b0| 20 3b 0d 0d 0d 0d 5c 09 | 09 09 3d 3d 3d 3d 3d 3d | ;....\.|..======|
|000038c0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000038d0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000038e0| 0d 5c 09 09 20 20 20 20 | 09 09 49 6e 66 69 6e 69 |.\.. |..Infini|
|000038f0| 74 69 65 73 20 61 6e 64 | 20 4e 41 4e 73 0d 5c 09 |ties and| NANs.\.|
|00003900| 09 09 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |..======|========|
|00003910| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003920| 3d 3d 3d 3d 3d 3d 3d 3d | 0d 0d 31 2e 30 20 30 2e |========|..1.0 0.|
|00003930| 30 20 66 2f 09 09 09 66 | 63 6f 6e 73 74 61 6e 74 |0 f/...f|constant|
|00003940| 09 69 6e 66 69 6e 69 74 | 79 0d 69 6e 66 69 6e 69 |.infinit|y.infini|
|00003950| 74 79 20 66 6e 65 67 61 | 74 65 09 66 63 6f 6e 73 |ty fnega|te.fcons|
|00003960| 74 61 6e 74 09 2d 69 6e | 66 69 6e 69 74 79 0d 0d |tant.-in|finity..|
|00003970| 0d 3a 20 53 4e 41 4e 09 | 28 20 63 6f 64 65 20 2d |.: SNAN.|( code -|
|00003980| 2d 20 29 20 28 20 46 3a | 20 2d 2d 20 4e 41 4e 3c |- ) ( F:| -- NAN<|
|00003990| 63 6f 64 65 3e 20 29 0d | 09 38 20 3c 3c 20 20 24 |code> ).|.8 << $|
|000039a0| 20 37 66 66 30 30 30 30 | 30 20 6f 72 20 20 66 74 | 7ff0000|0 or ft|
|000039b0| 65 6d 70 20 21 20 20 66 | 74 65 6d 70 20 73 66 40 |emp ! f|temp sf@|
|000039c0| 20 20 3b 0d 0d 3a 20 51 | 4e 41 4e 09 28 20 63 6f | ;..: Q|NAN.( co|
|000039d0| 64 65 20 2d 2d 20 29 20 | 28 20 46 3a 20 2d 2d 20 |de -- ) |( F: -- |
|000039e0| 4e 41 4e 3c 63 6f 64 65 | 3e 20 29 0d 09 38 20 3c |NAN<code|> )..8 <|
|000039f0| 3c 20 20 24 20 37 66 66 | 38 30 30 30 30 20 6f 72 |< $ 7ff|80000 or|
|00003a00| 20 20 66 74 65 6d 70 20 | 21 20 20 66 74 65 6d 70 | ftemp |! ftemp|
|00003a10| 20 73 66 40 20 20 3b 0d | 0d 31 30 30 20 73 4e 41 | sf@ ;.|.100 sNA|
|00003a20| 4e 09 66 63 6f 6e 73 74 | 61 6e 74 09 55 4e 44 45 |N.fconst|ant.UNDE|
|00003a30| 46 0d 0d 0d 5c 09 09 09 | 3d 3d 3d 3d 3d 3d 3d 3d |F...\...|========|
|00003a40| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a50| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 0d 5c 09 09 09 |========|===.\...|
|00003a60| 09 09 09 43 6c 61 73 73 | 20 46 6c 6f 61 74 0d 5c |...Class| Float.\|
|00003a70| 09 09 09 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |...=====|========|
|00003a80| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00003a90| 3d 3d 3d 3d 3d 3d 0d 0d | 28 2a 09 43 6c 61 73 73 |======..|(*.Class|
|00003aa0| 20 46 6c 6f 61 74 20 61 | 6c 6c 6f 77 73 20 61 20 | Float a|llows a |
|00003ab0| 66 6c 6f 61 74 69 6e 67 | 20 76 61 6c 75 65 20 74 |floating| value t|
|00003ac0| 6f 20 62 65 20 61 20 68 | 69 67 68 2d 6c 65 76 65 |o be a h|igh-leve|
|00003ad0| 6c 20 6f 62 6a 65 63 74 | 2c 20 77 68 69 63 68 0d |l object|, which.|
|00003ae0| 09 6d 65 61 6e 73 20 69 | 74 20 63 61 6e 20 62 65 |.means i|t can be|
|00003af0| 20 61 6e 20 69 76 61 72 | 20 6f 72 20 61 72 72 61 | an ivar| or arra|
|00003b00| 79 20 65 6c 65 6d 65 6e | 74 2e 20 20 57 69 74 68 |y elemen|t. With|
|00003b10| 20 4d 6f 70 73 20 33 2e | 34 20 61 20 46 6c 6f 61 | Mops 3.|4 a Floa|
|00003b20| 74 0d 09 6f 62 6a 65 63 | 74 20 63 61 6e 20 62 65 |t..objec|t can be|
|00003b30| 20 61 20 72 65 67 69 73 | 74 65 72 20 74 65 6d 70 | a regis|ter temp|
|00003b40| 20 6f 62 6a 65 63 74 2c | 20 77 68 69 63 68 20 6d | object,| which m|
|00003b50| 61 6b 65 73 20 74 68 69 | 73 20 63 6c 61 73 73 20 |akes thi|s class |
|00003b60| 70 6f 74 65 6e 74 69 61 | 6c 6c 79 0d 09 61 20 6c |potentia|lly..a l|
|00003b70| 6f 74 20 6d 6f 72 65 20 | 75 73 65 66 75 6c 20 74 |ot more |useful t|
|00003b80| 68 61 6e 20 62 65 66 6f | 72 65 20 2d 20 70 65 72 |han befo|re - per|
|00003b90| 66 6f 72 6d 61 6e 63 65 | 20 63 61 6e 20 6e 6f 77 |formance| can now|
|00003ba0| 20 62 65 20 6a 75 73 74 | 20 61 73 20 67 6f 6f 64 | be just| as good|
|00003bb0| 20 0d 09 61 73 20 66 6f | 72 20 66 6c 6f 61 74 69 | ..as fo|r floati|
|00003bc0| 6e 67 20 6c 6f 63 61 6c | 73 2e 0d 2a 29 0d 0d 0d |ng local|s..*)...|
|00003bd0| 3a 63 6c 61 73 73 20 20 | 46 4c 4f 41 54 20 20 73 |:class |FLOAT s|
|00003be0| 75 70 65 72 7b 20 6f 62 | 6a 65 63 74 20 7d 09 63 |uper{ ob|ject }.c|
|00003bf0| 61 6e 5f 62 65 5f 66 70 | 72 20 20 33 20 61 6c 69 |an_be_fp|r 3 ali|
|00003c00| 67 6e 6d 65 6e 74 0d 0d | 38 09 62 79 74 65 73 09 |gnment..|8.bytes.|
|00003c10| 64 61 74 61 0d 0d 3a 6d | 20 47 45 54 3a 09 09 5c |data..:m| GET:..\|
|00003c20| 20 28 20 2d 2d 20 78 20 | 29 09 50 75 73 68 65 73 | ( -- x |).Pushes|
|00003c30| 20 70 72 69 76 61 74 65 | 20 64 61 74 61 20 6f 6e | private| data on|
|00003c40| 74 6f 20 46 50 20 73 74 | 61 63 6b 0d 09 69 6e 6c |to FP st|ack..inl|
|00003c50| 69 6e 65 7b 20 5e 62 61 | 73 65 20 66 40 7d 20 20 |ine{ ^ba|se f@} |
|00003c60| 3b 6d 0d 0d 3a 6d 20 50 | 55 54 3a 09 09 5c 20 28 |;m..:m P|UT:..\ (|
|00003c70| 20 78 20 2d 2d 20 29 20 | 20 53 74 6f 72 65 73 20 | x -- ) | Stores |
|00003c80| 66 6c 6f 61 74 20 69 6e | 74 6f 20 70 72 69 76 61 |float in|to priva|
|00003c90| 74 65 20 64 61 74 61 0d | 09 69 6e 6c 69 6e 65 7b |te data.|.inline{|
|00003ca0| 20 5e 62 61 73 65 20 66 | 21 7d 20 20 3b 6d 0d 0d | ^base f|!} ;m..|
|00003cb0| 3a 6d 20 2d 3e 3a 09 09 | 5c 20 28 20 66 6c 6f 61 |:m ->:..|\ ( floa|
|00003cc0| 74 20 2d 2d 20 29 20 20 | 41 73 73 69 67 6e 73 20 |t -- ) |Assigns |
|00003cd0| 76 61 6c 75 65 20 6f 66 | 20 70 61 73 73 65 64 2d |value of| passed-|
|00003ce0| 69 6e 20 46 6c 6f 61 74 | 20 74 6f 20 74 68 69 73 |in Float| to this|
|00003cf0| 20 46 6c 6f 61 74 0d 09 | 69 6e 6c 69 6e 65 7b 20 | Float..|inline{ |
|00003d00| 66 40 20 5e 62 61 73 65 | 20 66 21 7d 20 20 3b 6d |f@ ^base| f!} ;m|
|00003d10| 0d 0d 0d 28 2a 09 4e 6f | 72 6d 61 6c 20 61 72 69 |...(*.No|rmal ari|
|00003d20| 74 68 6d 65 74 69 63 20 | 6f 70 65 72 61 74 69 6f |thmetic |operatio|
|00003d30| 6e 73 20 74 61 6b 65 20 | 61 6e 20 46 50 20 6e 75 |ns take |an FP nu|
|00003d40| 6d 62 65 72 20 6f 6e 20 | 74 68 65 20 46 50 20 73 |mber on |the FP s|
|00003d50| 74 61 63 6b 2c 0d 09 4e | 4f 54 20 61 20 46 6c 6f |tack,..N|OT a Flo|
|00003d60| 61 74 20 6f 62 6a 65 63 | 74 20 61 64 64 72 65 73 |at objec|t addres|
|00003d70| 73 20 6f 6e 20 74 68 65 | 20 64 61 74 61 20 73 74 |s on the| data st|
|00003d80| 61 63 6b 2e 20 20 48 6f | 77 65 76 65 72 20 74 68 |ack. Ho|wever th|
|00003d90| 65 0d 09 6c 61 74 74 65 | 72 20 61 72 65 20 75 73 |e..latte|r are us|
|00003da0| 65 66 75 6c 2c 20 73 6f | 20 77 65 20 70 72 6f 76 |eful, so| we prov|
|00003db0| 69 64 65 20 76 61 72 69 | 61 6e 74 73 2e 09 4d 65 |ide vari|ants..Me|
|00003dc0| 74 68 6f 64 73 20 73 74 | 61 72 74 69 6e 67 20 0d |thods st|arting .|
|00003dd0| 09 77 69 74 68 20 62 79 | 20 6f 62 6a 5f 20 74 61 |.with by| obj_ ta|
|00003de0| 6b 65 20 6f 6e 65 20 46 | 6c 6f 61 74 20 6f 62 6a |ke one F|loat obj|
|00003df0| 65 63 74 20 61 64 64 72 | 65 73 73 20 28 61 6e 64 |ect addr|ess (and|
|00003e00| 20 73 74 6f 72 65 20 74 | 68 65 20 72 65 73 75 6c | store t|he resul|
|00003e10| 74 0d 09 69 6e 20 74 68 | 69 73 20 6f 62 6a 65 63 |t..in th|is objec|
|00003e20| 74 29 2e 20 20 4d 65 74 | 68 6f 64 73 20 45 4e 44 |t). Met|hods END|
|00003e30| 49 4e 47 20 77 69 74 68 | 20 2d 3e 3a 20 74 61 6b |ING with| ->: tak|
|00003e40| 65 20 32 20 46 6c 6f 61 | 74 20 6f 62 6a 65 63 74 |e 2 Floa|t object|
|00003e50| 20 0d 09 61 64 64 72 65 | 73 73 65 73 20 28 61 6e | ..addre|sses (an|
|00003e60| 64 20 73 74 6f 72 65 20 | 74 68 65 20 72 65 73 75 |d store |the resu|
|00003e70| 6c 74 20 20 69 6e 20 74 | 68 69 73 20 6f 62 6a 65 |lt in t|his obje|
|00003e80| 63 74 29 2e 20 20 54 68 | 69 73 20 6e 6f 74 61 74 |ct). Th|is notat|
|00003e90| 69 6f 6e 0d 09 6d 69 67 | 68 74 6e 27 74 20 62 65 |ion..mig|htn't be|
|00003ea0| 20 74 65 72 72 69 62 6c | 79 20 63 6f 6e 73 69 73 | terribl|y consis|
|00003eb0| 74 65 6e 74 2c 20 62 75 | 74 20 68 6f 70 65 66 75 |tent, bu|t hopefu|
|00003ec0| 6c 6c 79 20 69 73 20 72 | 65 61 64 61 62 6c 65 2e |lly is r|eadable.|
|00003ed0| 0d 09 49 74 27 73 20 61 | 20 62 69 74 20 68 61 72 |..It's a| bit har|
|00003ee0| 64 20 74 6f 20 63 6f 6d | 65 20 75 70 20 77 69 74 |d to com|e up wit|
|00003ef0| 68 20 61 20 67 6f 6f 64 | 20 6e 6f 74 61 74 69 6f |h a good| notatio|
|00003f00| 6e 61 6c 20 63 6f 6e 76 | 65 6e 74 69 6f 6e 0d 09 |nal conv|ention..|
|00003f10| 66 6f 72 20 74 68 65 73 | 65 20 64 69 66 66 65 72 |for thes|e differ|
|00003f20| 65 6e 74 20 6f 70 74 69 | 6f 6e 73 2e 0d 2a 29 0d |ent opti|ons..*).|
|00003f30| 0d 3a 6d 20 2b 3a 0d 09 | 69 6e 6c 69 6e 65 7b 20 |.:m +:..|inline{ |
|00003f40| 5e 62 61 73 65 20 66 40 | 20 66 2b 20 5e 62 61 73 |^base f@| f+ ^bas|
|00003f50| 65 20 66 21 7d 20 20 3b | 6d 0d 0d 3a 6d 20 6f 62 |e f!} ;|m..:m ob|
|00003f60| 6a 5f 2b 3a 0d 09 69 6e | 6c 69 6e 65 7b 20 66 40 |j_+:..in|line{ f@|
|00003f70| 20 5e 62 61 73 65 20 66 | 40 20 66 2b 20 5e 62 61 | ^base f|@ f+ ^ba|
|00003f80| 73 65 20 66 21 7d 20 20 | 3b 6d 0d 0d 3a 6d 20 2b |se f!} |;m..:m +|
|00003f90| 2d 3e 3a 0d 09 69 6e 6c | 69 6e 65 7b 20 66 40 20 |->:..inl|ine{ f@ |
|00003fa0| 66 40 20 66 2b 20 5e 62 | 61 73 65 20 66 21 7d 20 |f@ f+ ^b|ase f!} |
|00003fb0| 20 3b 6d 0d 0d 0d 3a 6d | 20 2d 3a 0d 09 69 6e 6c | ;m...:m| -:..inl|
|00003fc0| 69 6e 65 7b 20 5e 62 61 | 73 65 20 66 40 20 66 73 |ine{ ^ba|se f@ fs|
|00003fd0| 77 61 70 20 66 2d 20 5e | 62 61 73 65 20 66 21 7d |wap f- ^|base f!}|
|00003fe0| 20 20 3b 6d 0d 0d 3a 6d | 20 6f 62 6a 5f 2d 3a 0d | ;m..:m| obj_-:.|
|00003ff0| 09 69 6e 6c 69 6e 65 7b | 20 5e 62 61 73 65 20 66 |.inline{| ^base f|
|00004000| 40 20 66 40 20 66 2d 20 | 5e 62 61 73 65 20 66 21 |@ f@ f- |^base f!|
|00004010| 7d 20 20 3b 6d 0d 0d 3a | 6d 20 2d 2d 3e 3a 0d 09 |} ;m..:|m -->:..|
|00004020| 69 6e 6c 69 6e 65 7b 20 | 66 40 20 66 40 20 66 73 |inline{ |f@ f@ fs|
|00004030| 77 61 70 20 66 2d 20 5e | 62 61 73 65 20 66 21 7d |wap f- ^|base f!}|
|00004040| 20 20 3b 6d 0d 0d 0d 3a | 6d 20 2a 3a 0d 09 69 6e | ;m...:|m *:..in|
|00004050| 6c 69 6e 65 7b 20 5e 62 | 61 73 65 20 66 40 20 66 |line{ ^b|ase f@ f|
|00004060| 2a 20 5e 62 61 73 65 20 | 66 21 7d 20 20 3b 6d 0d |* ^base |f!} ;m.|
|00004070| 0d 3a 6d 20 6f 62 6a 5f | 2a 3a 0d 09 69 6e 6c 69 |.:m obj_|*:..inli|
|00004080| 6e 65 7b 20 66 40 20 5e | 62 61 73 65 20 66 40 20 |ne{ f@ ^|base f@ |
|00004090| 66 2a 20 5e 62 61 73 65 | 20 66 21 7d 20 20 3b 6d |f* ^base| f!} ;m|
|000040a0| 0d 0d 3a 6d 20 2a 2d 3e | 3a 0d 09 69 6e 6c 69 6e |..:m *->|:..inlin|
|000040b0| 65 7b 20 66 40 20 66 40 | 20 66 2a 20 5e 62 61 73 |e{ f@ f@| f* ^bas|
|000040c0| 65 20 66 21 7d 20 20 3b | 6d 0d 0d 0d 3a 6d 20 2f |e f!} ;|m...:m /|
|000040d0| 3a 0d 09 69 6e 6c 69 6e | 65 7b 20 5e 62 61 73 65 |:..inlin|e{ ^base|
|000040e0| 20 66 40 20 66 73 77 61 | 70 20 66 2f 20 5e 62 61 | f@ fswa|p f/ ^ba|
|000040f0| 73 65 20 66 21 7d 20 20 | 3b 6d 0d 0d 3a 6d 20 6f |se f!} |;m..:m o|
|00004100| 62 6a 5f 2f 3a 0d 09 69 | 6e 6c 69 6e 65 7b 20 5e |bj_/:..i|nline{ ^|
|00004110| 62 61 73 65 20 66 40 20 | 66 40 20 66 2f 20 5e 62 |base f@ |f@ f/ ^b|
|00004120| 61 73 65 20 66 21 7d 20 | 20 3b 6d 0d 0d 3a 6d 20 |ase f!} | ;m..:m |
|00004130| 2f 2d 3e 3a 0d 09 69 6e | 6c 69 6e 65 7b 20 66 40 |/->:..in|line{ f@|
|00004140| 20 66 40 20 66 73 77 61 | 70 20 66 2f 20 5e 62 61 | f@ fswa|p f/ ^ba|
|00004150| 73 65 20 66 21 7d 20 20 | 3b 6d 0d 0d 0d 3a 6d 20 |se f!} |;m...:m |
|00004160| 41 42 53 56 41 4c 3a 09 | 5c 20 28 20 2d 2d 20 61 |ABSVAL:.|\ ( -- a|
|00004170| 62 73 20 29 20 20 52 65 | 74 75 72 6e 73 20 61 62 |bs ) Re|turns ab|
|00004180| 73 6f 6c 75 74 65 20 76 | 61 6c 75 65 2e 0d 09 69 |solute v|alue...i|
|00004190| 6e 6c 69 6e 65 7b 20 5e | 62 61 73 65 20 66 40 20 |nline{ ^|base f@ |
|000041a0| 66 61 62 73 7d 20 20 3b | 6d 0d 0d 3a 6d 20 41 42 |fabs} ;|m..:m AB|
|000041b0| 53 3a 09 09 5c 20 28 20 | 2d 2d 20 29 20 20 52 65 |S:..\ ( |-- ) Re|
|000041c0| 70 6c 61 63 65 73 20 6f | 62 6a 27 73 20 64 61 74 |places o|bj's dat|
|000041d0| 61 20 77 69 74 68 20 69 | 74 73 20 61 62 73 6f 6c |a with i|ts absol|
|000041e0| 75 74 65 2e 20 44 6f 65 | 73 6e 27 74 0d 09 09 09 |ute. Doe|sn't....|
|000041f0| 09 5c 09 09 09 72 65 74 | 75 72 6e 20 61 6e 79 74 |.\...ret|urn anyt|
|00004200| 68 69 6e 67 2e 0d 09 69 | 6e 6c 69 6e 65 7b 20 5e |hing...i|nline{ ^|
|00004210| 62 61 73 65 20 66 40 20 | 66 61 62 73 20 5e 62 61 |base f@ |fabs ^ba|
|00004220| 73 65 20 66 21 7d 20 20 | 3b 6d 0d 0d 3a 6d 20 4e |se f!} |;m..:m N|
|00004230| 45 47 3a 09 09 5c 20 28 | 20 2d 2d 20 76 61 6c 20 |EG:..\ (| -- val |
|00004240| 29 20 20 52 65 74 75 72 | 6e 73 20 6f 62 6a 65 63 |) Retur|ns objec|
|00004250| 74 20 76 61 6c 75 65 20 | 77 69 74 68 20 73 69 67 |t value |with sig|
|00004260| 6e 20 6e 65 67 61 74 65 | 64 0d 09 69 6e 6c 69 6e |n negate|d..inlin|
|00004270| 65 7b 20 5e 62 61 73 65 | 20 66 40 20 66 6e 65 67 |e{ ^base| f@ fneg|
|00004280| 61 74 65 7d 20 20 3b 6d | 0d 0d 3a 6d 20 4e 45 47 |ate} ;m|..:m NEG|
|00004290| 41 54 45 3a 09 5c 20 28 | 20 2d 2d 20 29 20 20 4e |ATE:.\ (| -- ) N|
|000042a0| 65 67 61 74 65 73 20 74 | 68 65 20 6f 62 6a 65 63 |egates t|he objec|
|000042b0| 74 27 73 20 64 61 74 61 | 2e 20 44 6f 65 73 6e 27 |t's data|. Doesn'|
|000042c0| 74 20 72 65 74 75 72 6e | 20 61 6e 79 74 68 69 6e |t return| anythin|
|000042d0| 67 2e 0d 09 69 6e 6c 69 | 6e 65 7b 20 5e 62 61 73 |g...inli|ne{ ^bas|
|000042e0| 65 20 66 40 20 66 6e 65 | 67 61 74 65 20 5e 62 61 |e f@ fne|gate ^ba|
|000042f0| 73 65 20 66 21 7d 20 20 | 3b 6d 0d 0d 3a 6d 20 50 |se f!} |;m..:m P|
|00004300| 52 49 4e 54 3a 09 5e 62 | 61 73 65 20 66 40 20 20 |RINT:.^b|ase f@ |
|00004310| 65 2e 20 20 3b 6d 0d 0d | 3b 63 6c 61 73 73 0d 0d |e. ;m..|;class..|
|00004320| 0d 5c 09 09 09 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.\...===|========|
|00004330| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004340| 3d 3d 3d 3d 3d 3d 0d 5c | 09 09 09 09 09 46 6c 6f |======.\|.....Flo|
|00004350| 61 74 69 6e 67 20 61 72 | 72 61 79 73 0d 5c 09 09 |ating ar|rays.\..|
|00004360| 09 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |.=======|========|
|00004370| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00004380| 3d 3d 0d 0d 3a 63 6c 61 | 73 73 20 09 46 41 52 52 |==..:cla|ss .FARR|
|00004390| 41 59 09 73 75 70 65 72 | 7b 20 69 6e 64 65 78 65 |AY.super|{ indexe|
|000043a0| 64 2d 6f 62 6a 20 7d 20 | 20 31 66 6c 6f 61 74 20 |d-obj } | 1float |
|000043b0| 69 6e 64 65 78 65 64 0d | 0d 3a 6d 20 41 54 3a 20 |indexed.|.:m AT: |
|000043c0| 20 28 20 69 6e 64 65 78 | 20 2d 2d 20 6e 20 29 09 | ( index| -- n ).|
|000043d0| 09 69 6e 6c 69 6e 65 7b | 20 5e 65 6c 65 6d 20 66 |.inline{| ^elem f|
|000043e0| 40 7d 20 20 3b 6d 0d 3a | 6d 20 54 4f 3a 20 20 28 |@} ;m.:|m TO: (|
|000043f0| 20 6e 20 69 6e 64 65 78 | 20 2d 2d 20 29 09 09 69 | n index| -- )..i|
|00004400| 6e 6c 69 6e 65 7b 20 5e | 65 6c 65 6d 20 66 21 7d |nline{ ^|elem f!}|
|00004410| 20 20 3b 6d 0d 3a 6d 20 | 2b 54 4f 3a 20 20 28 20 | ;m.:m |+TO: ( |
|00004420| 6e 20 69 6e 64 65 78 20 | 2d 2d 20 29 09 09 69 6e |n index |-- )..in|
|00004430| 6c 69 6e 65 7b 20 5e 65 | 6c 65 6d 20 64 75 70 20 |line{ ^e|lem dup |
|00004440| 66 40 20 66 2b 20 66 21 | 7d 20 20 3b 6d 0d 3a 6d |f@ f+ f!|} ;m.:m|
|00004450| 20 2d 54 4f 3a 20 20 28 | 20 6e 20 69 6e 64 65 78 | -TO: (| n index|
|00004460| 20 2d 2d 20 29 09 09 69 | 6e 6c 69 6e 65 7b 20 5e | -- )..i|nline{ ^|
|00004470| 65 6c 65 6d 20 64 75 70 | 20 66 40 20 66 2d 20 66 |elem dup| f@ f- f|
|00004480| 21 7d 20 20 3b 6d 0d 0d | 0d 3a 6d 20 46 49 4c 4c |!} ;m..|.:m FILL|
|00004490| 3a 09 09 5c 20 28 20 76 | 61 6c 75 65 20 2d 2d 20 |:..\ ( v|alue -- |
|000044a0| 29 20 20 46 69 6c 6c 73 | 20 61 6c 6c 20 65 6c 65 |) Fills| all ele|
|000044b0| 6d 65 6e 74 73 20 77 69 | 74 68 20 76 61 6c 75 65 |ments wi|th value|
|000044c0| 2e 0d 09 69 64 78 62 61 | 73 65 20 20 6c 69 6d 69 |...idxba|se limi|
|000044d0| 74 20 66 6c 6f 61 74 73 | 20 20 62 6f 75 6e 64 73 |t floats| bounds|
|000044e0| 0d 09 3f 44 4f 20 20 66 | 64 75 70 20 20 69 20 66 |..?DO f|dup i f|
|000044f0| 21 20 20 31 66 6c 6f 61 | 74 20 2b 4c 4f 4f 50 20 |! 1floa|t +LOOP |
|00004500| 20 66 64 72 6f 70 20 20 | 3b 6d 0d 0d 3a 6d 20 50 | fdrop |;m..:m P|
|00004510| 52 49 4e 54 3a 09 5c 20 | 50 72 69 6e 74 73 20 61 |RINT:.\ |Prints a|
|00004520| 6c 6c 20 65 6c 65 6d 65 | 6e 74 73 0d 09 6c 69 6d |ll eleme|nts..lim|
|00004530| 69 74 3a 20 73 65 6c 66 | 20 30 20 3f 44 4f 20 20 |it: self| 0 ?DO |
|00004540| 69 20 64 75 70 20 20 34 | 20 2e 72 20 20 73 70 61 |i dup 4| .r spa|
|00004550| 63 65 20 20 61 74 3a 20 | 73 65 6c 66 20 20 65 2e |ce at: |self e.|
|00004560| 20 63 72 0d 09 4c 4f 4f | 50 20 20 3b 6d 0d 0d 3a | cr..LOO|P ;m..:|
|00004570| 6d 20 43 4c 41 53 53 49 | 4e 49 54 3a 0d 09 75 6e |m CLASSI|NIT:..un|
|00004580| 64 65 66 0d 09 6c 69 6d | 69 74 3a 20 73 65 6c 66 |def..lim|it: self|
|00004590| 20 20 46 4f 52 20 20 66 | 64 75 70 20 20 69 20 74 | FOR f|dup i t|
|000045a0| 6f 3a 20 73 65 6c 66 20 | 20 4e 45 58 54 20 20 66 |o: self | NEXT f|
|000045b0| 64 72 6f 70 20 20 3b 6d | 0d 0d 3b 63 6c 61 73 73 |drop ;m|..;class|
|000045c0| 0d 0d 0d 3a 63 6c 61 73 | 73 20 09 53 46 41 52 52 |...:clas|s .SFARR|
|000045d0| 41 59 09 73 75 70 65 72 | 7b 20 69 6e 64 65 78 65 |AY.super|{ indexe|
|000045e0| 64 2d 6f 62 6a 20 7d 20 | 20 34 20 69 6e 64 65 78 |d-obj } | 4 index|
|000045f0| 65 64 0d 0d 3a 6d 20 41 | 54 3a 20 20 28 20 69 6e |ed..:m A|T: ( in|
|00004600| 64 65 78 20 2d 2d 20 6e | 20 29 09 09 69 6e 6c 69 |dex -- n| )..inli|
|00004610| 6e 65 7b 20 5e 65 6c 65 | 6d 20 73 66 40 7d 20 20 |ne{ ^ele|m sf@} |
|00004620| 3b 6d 0d 3a 6d 20 54 4f | 3a 20 20 28 20 6e 20 69 |;m.:m TO|: ( n i|
|00004630| 6e 64 65 78 20 2d 2d 20 | 29 09 09 69 6e 6c 69 6e |ndex -- |)..inlin|
|00004640| 65 7b 20 5e 65 6c 65 6d | 20 73 66 21 7d 20 20 3b |e{ ^elem| sf!} ;|
|00004650| 6d 0d 3a 6d 20 2b 54 4f | 3a 20 20 28 20 6e 20 69 |m.:m +TO|: ( n i|
|00004660| 6e 64 65 78 20 2d 2d 20 | 29 09 09 69 6e 6c 69 6e |ndex -- |)..inlin|
|00004670| 65 7b 20 5e 65 6c 65 6d | 20 64 75 70 20 73 66 40 |e{ ^elem| dup sf@|
|00004680| 20 66 2b 20 73 66 21 7d | 20 20 3b 6d 0d 3a 6d 20 | f+ sf!}| ;m.:m |
|00004690| 2d 54 4f 3a 20 20 28 20 | 6e 20 69 6e 64 65 78 20 |-TO: ( |n index |
|000046a0| 2d 2d 20 29 09 09 69 6e | 6c 69 6e 65 7b 20 5e 65 |-- )..in|line{ ^e|
|000046b0| 6c 65 6d 20 64 75 70 20 | 73 66 40 20 66 2d 20 73 |lem dup |sf@ f- s|
|000046c0| 66 21 7d 20 20 3b 6d 0d | 0d 0d 3a 6d 20 46 49 4c |f!} ;m.|..:m FIL|
|000046d0| 4c 3a 09 09 5c 20 28 20 | 76 61 6c 75 65 20 2d 2d |L:..\ ( |value --|
|000046e0| 20 29 20 20 46 69 6c 6c | 73 20 61 6c 6c 20 65 6c | ) Fill|s all el|
|000046f0| 65 6d 65 6e 74 73 20 77 | 69 74 68 20 76 61 6c 75 |ements w|ith valu|
|00004700| 65 2e 0d 09 69 64 78 62 | 61 73 65 20 20 6c 69 6d |e...idxb|ase lim|
|00004710| 69 74 20 73 66 6c 6f 61 | 74 73 20 20 62 6f 75 6e |it sfloa|ts boun|
|00004720| 64 73 0d 09 3f 44 4f 20 | 20 66 64 75 70 20 20 69 |ds..?DO | fdup i|
|00004730| 20 66 21 20 20 34 20 2b | 4c 4f 4f 50 20 20 66 64 | f! 4 +|LOOP fd|
|00004740| 72 6f 70 20 20 3b 6d 0d | 0d 3a 6d 20 50 52 49 4e |rop ;m.|.:m PRIN|
|00004750| 54 3a 09 5c 20 50 72 69 | 6e 74 73 20 61 6c 6c 20 |T:.\ Pri|nts all |
|00004760| 65 6c 65 6d 65 6e 74 73 | 0d 09 6c 69 6d 69 74 3a |elements|..limit:|
|00004770| 20 73 65 6c 66 20 30 20 | 3f 44 4f 20 20 69 20 64 | self 0 |?DO i d|
|00004780| 75 70 20 20 34 20 2e 72 | 20 20 73 70 61 63 65 20 |up 4 .r| space |
|00004790| 20 61 74 3a 20 73 65 6c | 66 20 20 65 2e 20 63 72 | at: sel|f e. cr|
|000047a0| 0d 09 4c 4f 4f 50 20 20 | 3b 6d 0d 0d 3a 6d 20 43 |..LOOP |;m..:m C|
|000047b0| 4c 41 53 53 49 4e 49 54 | 3a 0d 09 75 6e 64 65 66 |LASSINIT|:..undef|
|000047c0| 0d 09 6c 69 6d 69 74 3a | 20 73 65 6c 66 20 20 46 |..limit:| self F|
|000047d0| 4f 52 20 20 66 64 75 70 | 20 20 69 20 74 6f 3a 20 |OR fdup| i to: |
|000047e0| 73 65 6c 66 20 20 4e 45 | 58 54 20 20 66 64 72 6f |self NE|XT fdro|
|000047f0| 70 20 20 3b 6d 0d 0d 3b | 63 6c 61 73 73 0d 0d 0d |p ;m..;|class...|
|00004800| 5c 20 46 6d 61 74 72 69 | 78 20 69 6d 70 6c 65 6d |\ Fmatri|x implem|
|00004810| 65 6e 74 73 20 61 20 32 | 2d 64 69 6d 65 6e 73 69 |ents a 2|-dimensi|
|00004820| 6f 6e 61 6c 20 46 50 20 | 6d 61 74 72 69 78 2e 0d |onal FP |matrix..|
|00004830| 5c 20 20 55 73 61 67 65 | 3a 20 20 20 35 30 20 31 |\ Usage|: 50 1|
|00004840| 30 30 20 20 64 69 6d 65 | 6e 73 69 6f 6e 20 20 20 |00 dime|nsion |
|00004850| 46 6d 61 74 72 69 78 20 | 4d 4d 0d 0d 20 20 20 20 |Fmatrix |MM.. |
|00004860| 30 09 76 61 6c 75 65 09 | 52 4f 57 44 49 4d 0d 20 |0.value.|ROWDIM. |
|00004870| 20 20 20 30 09 76 61 6c | 75 65 09 43 4f 4c 44 49 | 0.val|ue.COLDI|
|00004880| 4d 0d 0d 3a 20 44 49 4d | 45 4e 53 49 4f 4e 0d 09 |M..: DIM|ENSION..|
|00004890| 2d 3e 20 63 6f 6c 44 69 | 6d 20 20 20 2d 3e 20 72 |-> colDi|m -> r|
|000048a0| 6f 77 44 69 6d 0d 09 63 | 6f 6c 44 69 6d 20 20 72 |owDim..c|olDim r|
|000048b0| 6f 77 44 69 6d 20 20 2a | 20 20 3b 0d 0d 0d 3a 63 |owDim *| ;...:c|
|000048c0| 6c 61 73 73 09 46 4d 41 | 54 52 49 58 09 73 75 70 |lass.FMA|TRIX.sup|
|000048d0| 65 72 7b 20 46 61 72 72 | 61 79 20 7d 0d 0d 09 76 |er{ Farr|ay }...v|
|000048e0| 61 72 09 23 72 6f 77 73 | 0d 09 76 61 72 09 23 63 |ar.#rows|..var.#c|
|000048f0| 6f 6c 73 0d 09 76 61 72 | 09 72 6f 77 4c 65 6e 67 |ols..var|.rowLeng|
|00004900| 74 68 0d 09 76 61 72 09 | 63 6f 6c 4c 65 6e 67 74 |th..var.|colLengt|
|00004910| 68 0d 0d 3a 6d 20 23 52 | 4f 57 53 3a 09 67 65 74 |h..:m #R|OWS:.get|
|00004920| 3a 20 23 72 6f 77 73 20 | 20 20 3b 6d 0d 3a 6d 20 |: #rows | ;m.:m |
|00004930| 23 43 4f 4c 53 3a 09 67 | 65 74 3a 20 23 63 6f 6c |#COLS:.g|et: #col|
|00004940| 73 20 20 20 3b 6d 0d 0d | 3a 6d 20 5e 45 4c 45 4d |s ;m..|:m ^ELEM|
|00004950| 3a 20 20 7b 20 72 6f 77 | 20 63 6f 6c 20 5c 20 74 |: { row| col \ t|
|00004960| 65 6d 70 20 2d 2d 20 61 | 64 64 72 20 7d 0d 09 72 |emp -- a|ddr }..r|
|00004970| 6f 77 20 20 67 65 74 3a | 20 23 63 6f 6c 73 20 20 |ow get:| #cols |
|00004980| 2a 20 20 63 6f 6c 20 2b | 20 20 5e 65 6c 65 6d 20 |* col +| ^elem |
|00004990| 20 3b 6d 0d 0d 3a 6d 20 | 41 54 3a 09 5e 65 6c 65 | ;m..:m |AT:.^ele|
|000049a0| 6d 3a 20 73 65 6c 66 20 | 20 66 40 20 20 3b 6d 0d |m: self | f@ ;m.|
|000049b0| 3a 6d 20 54 4f 3a 09 5e | 65 6c 65 6d 3a 20 73 65 |:m TO:.^|elem: se|
|000049c0| 6c 66 20 20 66 21 20 20 | 3b 6d 0d 0d 3a 6d 20 52 |lf f! |;m..:m R|
|000049d0| 4f 57 3a 20 20 7b 20 72 | 6f 77 20 2d 2d 20 6c 69 |OW: { r|ow -- li|
|000049e0| 6d 69 74 20 73 74 61 72 | 74 20 73 74 72 69 64 65 |mit star|t stride|
|000049f0| 20 7d 09 5c 20 53 65 74 | 73 20 75 70 20 66 6f 72 | }.\ Set|s up for|
|00004a00| 20 61 20 44 4f 20 6f 76 | 65 72 20 74 68 65 20 72 | a DO ov|er the r|
|00004a10| 6f 77 2e 0d 09 72 6f 77 | 20 20 67 65 74 3a 20 72 |ow...row| get: r|
|00004a20| 6f 77 4c 65 6e 67 74 68 | 20 2a 20 20 69 64 78 42 |owLength| * idxB|
|00004a30| 61 73 65 20 2b 09 09 5c | 20 61 64 64 72 0d 09 67 |ase +..\| addr..g|
|00004a40| 65 74 3a 20 72 6f 77 4c | 65 6e 67 74 68 20 20 62 |et: rowL|ength b|
|00004a50| 6f 75 6e 64 73 09 09 09 | 09 09 5c 20 28 20 6c 69 |ounds...|..\ ( li|
|00004a60| 6d 69 74 20 61 64 64 72 | 20 29 0d 09 31 66 6c 6f |mit addr| )..1flo|
|00004a70| 61 74 20 20 20 3b 6d 09 | 09 09 09 09 09 09 09 5c |at ;m.|.......\|
|00004a80| 20 73 74 72 69 64 65 0d | 0d 3a 6d 20 43 4f 4c 3a | stride.|.:m COL:|
|00004a90| 20 20 7b 20 63 6f 6c 20 | 2d 2d 20 6c 69 6d 69 74 | { col |-- limit|
|00004aa0| 20 73 74 61 72 74 20 73 | 74 72 69 64 65 20 7d 09 | start s|tride }.|
|00004ab0| 5c 20 53 65 74 73 20 75 | 70 20 66 6f 72 20 61 20 |\ Sets u|p for a |
|00004ac0| 44 4f 20 6f 76 65 72 20 | 74 68 65 20 63 6f 6c 75 |DO over |the colu|
|00004ad0| 6d 6e 2e 0d 09 63 6f 6c | 20 66 6c 6f 61 74 73 20 |mn...col| floats |
|00004ae0| 20 69 64 78 42 61 73 65 | 20 2b 09 09 09 09 09 5c | idxBase| +.....\|
|00004af0| 20 61 64 64 72 0d 09 67 | 65 74 3a 20 63 6f 6c 4c | addr..g|et: colL|
|00004b00| 65 6e 67 74 68 20 20 62 | 6f 75 6e 64 73 09 09 09 |ength b|ounds...|
|00004b10| 09 09 5c 20 28 20 6c 69 | 6d 69 74 20 61 64 64 72 |..\ ( li|mit addr|
|00004b20| 20 29 0d 09 67 65 74 3a | 20 72 6f 77 4c 65 6e 67 | )..get:| rowLeng|
|00004b30| 74 68 20 20 3b 6d 09 09 | 09 09 09 09 5c 20 73 74 |th ;m..|....\ st|
|00004b40| 72 69 64 65 0d 0d 3a 6d | 20 50 55 54 52 4f 57 3a |ride..:m| PUTROW:|
|00004b50| 09 5c 20 28 20 31 73 74 | 20 2e 2e 2e 20 6c 61 73 |.\ ( 1st| ... las|
|00004b60| 74 20 20 72 6f 77 20 2d | 2d 20 29 0d 09 72 6f 77 |t row -|- )..row|
|00004b70| 3a 20 73 65 6c 66 20 20 | 20 64 72 6f 70 20 20 28 |: self | drop (|
|00004b80| 20 77 65 20 6b 6e 6f 77 | 20 73 74 72 69 64 65 20 | we know| stride |
|00004b90| 69 73 20 31 66 6c 6f 61 | 74 20 29 0d 09 73 77 61 |is 1floa|t )..swa|
|00004ba0| 70 20 20 31 66 6c 6f 61 | 74 20 2d 0d 09 44 4f 20 |p 1floa|t -..DO |
|00004bb0| 20 69 20 66 21 20 20 20 | 31 66 6c 6f 61 74 20 6e | i f! |1float n|
|00004bc0| 65 67 61 74 65 20 20 2b | 4c 4f 4f 50 20 20 3b 6d |egate +|LOOP ;m|
|00004bd0| 0d 0d 3a 6d 20 50 52 49 | 4e 54 52 4f 57 3a 20 20 |..:m PRI|NTROW: |
|00004be0| 7b 20 72 6f 77 20 2d 2d | 20 7d 0d 09 72 6f 77 20 |{ row --| }..row |
|00004bf0| 20 72 6f 77 3a 20 73 65 | 6c 66 20 20 20 20 64 72 | row: se|lf dr|
|00004c00| 6f 70 0d 09 3f 44 4f 20 | 20 20 69 20 66 40 20 31 |op..?DO | i f@ 1|
|00004c10| 30 20 65 2e 72 20 20 31 | 66 6c 6f 61 74 20 2b 4c |0 e.r 1|float +L|
|00004c20| 4f 4f 50 20 20 20 20 3b | 6d 0d 0d 3a 6d 20 50 52 |OOP ;|m..:m PR|
|00004c30| 49 4e 54 43 4f 4c 3a 20 | 20 7b 20 63 6f 6c 20 5c |INTCOL: | { col \|
|00004c40| 20 73 74 72 69 64 65 20 | 2d 2d 20 7d 0d 09 63 6f | stride |-- }..co|
|00004c50| 6c 20 20 63 6f 6c 3a 20 | 73 65 6c 66 20 20 2d 3e |l col: |self ->|
|00004c60| 20 73 74 72 69 64 65 0d | 09 3f 44 4f 20 20 69 20 | stride.|.?DO i |
|00004c70| 66 40 20 20 31 30 20 65 | 2e 72 20 20 63 72 20 20 |f@ 10 e|.r cr |
|00004c80| 73 74 72 69 64 65 20 2b | 4c 4f 4f 50 20 20 3b 6d |stride +|LOOP ;m|
|00004c90| 0d 0d 3a 6d 20 50 52 49 | 4e 54 3a 0d 09 67 65 74 |..:m PRI|NT:..get|
|00004ca0| 3a 20 23 72 6f 77 73 20 | 20 30 0d 09 3f 44 4f 20 |: #rows | 0..?DO |
|00004cb0| 20 69 20 70 72 69 6e 74 | 52 6f 77 3a 20 73 65 6c | i print|Row: sel|
|00004cc0| 66 20 20 63 72 20 20 4c | 4f 4f 50 20 20 3b 6d 0d |f cr L|OOP ;m.|
|00004cd0| 0d 3a 6d 20 43 4c 41 53 | 53 49 4e 49 54 3a 0d 09 |.:m CLAS|SINIT:..|
|00004ce0| 72 6f 77 44 69 6d 20 20 | 70 75 74 3a 20 23 72 6f |rowDim |put: #ro|
|00004cf0| 77 73 20 20 20 63 6f 6c | 44 69 6d 20 20 70 75 74 |ws col|Dim put|
|00004d00| 3a 20 23 63 6f 6c 73 0d | 09 67 65 74 3a 20 23 63 |: #cols.|.get: #c|
|00004d10| 6f 6c 73 20 66 6c 6f 61 | 74 73 20 20 70 75 74 3a |ols floa|ts put:|
|00004d20| 20 72 6f 77 4c 65 6e 67 | 74 68 0d 09 67 65 74 3a | rowLeng|th..get:|
|00004d30| 20 23 72 6f 77 73 20 20 | 67 65 74 3a 20 72 6f 77 | #rows |get: row|
|00004d40| 4c 65 6e 67 74 68 20 2a | 20 20 70 75 74 3a 20 63 |Length *| put: c|
|00004d50| 6f 6c 4c 65 6e 67 74 68 | 0d 09 63 6c 61 73 73 69 |olLength|..classi|
|00004d60| 6e 69 74 3a 20 73 75 70 | 65 72 20 20 20 3b 6d 0d |nit: sup|er ;m.|
|00004d70| 0d 3b 63 6c 61 73 73 0d | 0d 0d 65 6e 64 6c 6f 61 |.;class.|..endloa|
|00004d80| 64 0d 0d 0d 33 20 35 20 | 64 69 6d 65 6e 73 69 6f |d...3 5 |dimensio|
|00004d90| 6e 20 20 66 6d 61 74 72 | 69 78 20 20 6d 61 74 41 |n fmatr|ix matA|
|00004da0| 0d 35 20 33 20 64 69 6d | 65 6e 73 69 6f 6e 20 20 |.5 3 dim|ension |
|00004db0| 66 6d 61 74 72 69 78 20 | 20 6d 61 74 42 0d 33 20 |fmatrix | matB.3 |
|00004dc0| 33 20 64 69 6d 65 6e 73 | 69 6f 6e 20 20 66 6d 61 |3 dimens|ion fma|
|00004dd0| 74 72 69 78 20 20 6d 61 | 74 43 0d 0d 2d 32 2e 30 |trix ma|tC..-2.0|
|00004de0| 20 2d 37 2e 30 20 2d 34 | 2e 30 20 38 2e 30 20 31 | -7.0 -4|.0 8.0 1|
|00004df0| 2e 30 20 20 09 30 20 20 | 70 75 74 52 6f 77 3a 20 |.0 .0 |putRow: |
|00004e00| 6d 61 74 41 0d 2d 33 2e | 30 20 30 2e 30 20 2d 31 |matA.-3.|0 0.0 -1|
|00004e10| 2e 30 20 30 2e 30 20 2d | 39 2e 30 09 09 31 20 20 |.0 0.0 -|9.0..1 |
|00004e20| 70 75 74 52 6f 77 3a 20 | 6d 61 74 41 0d 30 2e 30 |putRow: |matA.0.0|
|00004e30| 20 2d 31 2e 30 20 2d 38 | 2e 30 20 2d 39 2e 30 20 | -1.0 -8|.0 -9.0 |
|00004e40| 2d 33 2e 30 09 09 32 20 | 20 70 75 74 52 6f 77 3a |-3.0..2 | putRow:|
|00004e50| 20 6d 61 74 41 0d 0d 2d | 31 2e 30 20 33 2e 30 20 | matA..-|1.0 3.0 |
|00004e60| 2d 32 2e 30 09 09 09 09 | 30 20 20 70 75 74 52 6f |-2.0....|0 putRo|
|00004e70| 77 3a 20 6d 61 74 42 0d | 34 2e 30 20 2d 31 2e 30 |w: matB.|4.0 -1.0|
|00004e80| 20 31 2e 30 09 09 09 09 | 31 20 20 70 75 74 52 6f | 1.0....|1 putRo|
|00004e90| 77 3a 20 6d 61 74 42 0d | 39 2e 30 20 2d 34 2e 30 |w: matB.|9.0 -4.0|
|00004ea0| 20 2d 38 2e 30 09 09 09 | 09 32 20 20 70 75 74 52 | -8.0...|.2 putR|
|00004eb0| 6f 77 3a 20 6d 61 74 42 | 0d 2d 35 2e 30 20 30 2e |ow: matB|.-5.0 0.|
|00004ec0| 30 20 2d 33 2e 30 09 09 | 09 09 33 20 20 70 75 74 |0 -3.0..|..3 put|
|00004ed0| 52 6f 77 3a 20 6d 61 74 | 42 0d 36 2e 30 20 33 2e |Row: mat|B.6.0 3.|
|00004ee0| 30 20 2d 36 2e 30 09 09 | 09 09 34 20 20 70 75 74 |0 -6.0..|..4 put|
|00004ef0| 52 6f 77 3a 20 6d 61 74 | 42 0d 00 00 00 00 00 00 |Row: mat|B.......|
|00004f00| 00 00 01 00 00 00 01 42 | 00 00 00 42 00 00 00 3b |.......B|...B...;|
|00004f10| 00 00 06 41 3b fa 00 00 | 7f 27 07 00 00 00 00 00 |...A;...|.'......|
|00004f20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004f30| 0f 7a 46 6c 6f 61 74 69 | 6e 67 20 70 6f 69 6e 74 |.zFloati|ng point|
|00004f40| 02 00 00 00 50 61 72 74 | 53 49 54 21 00 00 00 00 |....Part|SIT!....|
|00004f50| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00004f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004f70| 00 00 b3 66 c2 77 00 00 | 00 00 00 00 01 7d 00 00 |...f.w..|.....}..|
|00004f80| 06 42 3c 13 00 00 7f 27 | 07 00 00 00 00 00 00 00 |.B<....'|........|
|00004f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00004fe0| 00 00 a7 85 9b 9f 00 00 | 01 1e 05 00 00 00 06 43 |........|.......C|
|00004ff0| 04 38 cf ff 7f 27 03 00 | 00 00 00 00 00 00 00 00 |.8...'..|........|
|00005000| 00 00 00 3e 00 00 00 00 | 00 00 00 00 00 00 00 00 |...>....|........|
|00005010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00005020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 3e ac |........|......>.|
|00005030| 00 00 3e ac 00 00 00 00 | 00 00 00 00 00 00 00 00 |..>.....|........|
|00005040| 00 00 00 00 01 00 00 00 | 01 42 00 00 00 42 00 00 |........|.B...B..|
|00005050| 00 3b 02 45 4b 08 29 de | 00 00 00 1c 00 32 00 00 |.;.EK.).|.....2..|
|00005060| 4d 49 46 4f 00 00 00 0a | 00 80 00 00 00 00 00 00 |MIFO....|........|
|00005070| 02 45 4d b0 08 4d 69 73 | 63 49 6e 66 6f 00 00 00 |.EM..Mis|cInfo...|
+--------+-------------------------+-------------------------+--------+--------+